diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_create.py index 944acb5e2dd..62353db7ec6 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_create.py @@ -22,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-10-01-preview"], ] } @@ -49,11 +49,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--attached-network-connection-name"], help="The name of the attached network connection.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -154,7 +164,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_delete.py index e6a58d45f7e..9091748c406 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the attached network connection.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -153,7 +163,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_list.py index 1dd66d4bccf..052a6de1afe 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_list.py @@ -25,10 +25,10 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/attachednetworks", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/attachednetworks", "2023-10-01-preview"], ] } @@ -52,10 +52,20 @@ def _build_arguments_schema(cls, *args, **kwargs): _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -133,7 +143,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -285,7 +295,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_show.py index b86f7a6a22c..3936c062a93 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_show.py @@ -25,10 +25,10 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/attachednetworks/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/attachednetworks/{}", "2023-10-01-preview"], ] } @@ -58,11 +58,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( help="Name of resource group. You can configure the default group using `az configure --defaults group=`.", @@ -144,7 +154,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -288,7 +298,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_wait.py index cbacbe8e4d9..ce9ee77e75b 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/attached_network/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-10-01-preview"], ] } @@ -51,6 +51,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( help="Name of resource group. You can configure the default group using `az configure --defaults group=`.", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/__init__.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/__init__.py index 9c0e5a03e4b..8a889023cf1 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/__init__.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/__init__.py @@ -9,8 +9,10 @@ # flake8: noqa from .__cmd_group import * +from ._connect import * from ._create import * from ._delete import * +from ._get_sync_error_detail import * from ._list import * from ._show import * from ._sync import * diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_connect.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_connect.py new file mode 100644 index 00000000000..85d1f59560c --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_connect.py @@ -0,0 +1,158 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog connect", +) +class Connect(AAZCommand): + """Connects a catalog to enable syncing. + + :example: Connect + az devcenter admin catalog connect --name "CentralCatalog" --dev-center-name "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/connect", "2023-10-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.CatalogsConnect(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class CatalogsConnect(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + None, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + +class _ConnectHelper: + """Helper class for Connect""" + + +__all__ = ["Connect"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_create.py index 0abc31e71f8..c04a42e4051 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_create.py @@ -25,9 +25,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-10-01-preview"], ] } @@ -52,11 +52,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--catalog-name"], help="The name of the catalog.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -77,6 +87,12 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Properties for a GitHub catalog type.", ) cls._build_args_git_catalog_create(_args_schema.git_hub) + _args_schema.sync_type = AAZStrArg( + options=["--sync-type"], + arg_group="Properties", + help="Indicates the type of sync that is configured for the catalog.", + enum={"Manual": "Manual", "Scheduled": "Scheduled"}, + ) return cls._args_schema _args_git_catalog_create = None @@ -200,7 +216,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -231,6 +247,7 @@ def content(self): if properties is not None: _CreateHelper._build_schema_git_catalog_create(properties.set_prop("adoGit", AAZObjectType, ".ado_git")) _CreateHelper._build_schema_git_catalog_create(properties.set_prop("gitHub", AAZObjectType, ".git_hub")) + properties.set_prop("syncType", AAZStrType, ".sync_type") return self.serialize_content(_content_value) @@ -286,6 +303,9 @@ def _build_schema_on_201(cls): serialized_name="lastConnectionTime", flags={"read_only": True}, ) + properties.last_sync_stats = AAZObjectType( + serialized_name="lastSyncStats", + ) properties.last_sync_time = AAZStrType( serialized_name="lastSyncTime", flags={"read_only": True}, @@ -298,6 +318,31 @@ def _build_schema_on_201(cls): serialized_name="syncState", flags={"read_only": True}, ) + properties.sync_type = AAZStrType( + serialized_name="syncType", + ) + + last_sync_stats = cls._schema_on_201.properties.last_sync_stats + last_sync_stats.added = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.removed = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.synchronization_errors = AAZIntType( + serialized_name="synchronizationErrors", + flags={"read_only": True}, + ) + last_sync_stats.unchanged = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.updated = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.validation_errors = AAZIntType( + serialized_name="validationErrors", + flags={"read_only": True}, + ) system_data = cls._schema_on_201.system_data system_data.created_at = AAZStrType( diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_delete.py index 52c6bfce16a..1f43b6cbfb0 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the catalog.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -153,7 +163,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_get_sync_error_detail.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_get_sync_error_detail.py new file mode 100644 index 00000000000..e605ccc58fb --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_get_sync_error_detail.py @@ -0,0 +1,239 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog get-sync-error-detail", +) +class GetSyncErrorDetail(AAZCommand): + """Gets catalog synchronization error details. + + :example: Get synchronization error detail + az devcenter admin catalog get-sync-error-detail --name "CentralCatalog" --dev-center-name "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/getsyncerrordetails", "2023-10-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["-n", "--name", "--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CatalogsGetSyncErrorDetails(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class CatalogsGetSyncErrorDetails(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/getSyncErrorDetails", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.conflicts = AAZListType( + flags={"read_only": True}, + ) + _schema_on_200.errors = AAZListType( + flags={"read_only": True}, + ) + _schema_on_200.operation_error = AAZObjectType( + serialized_name="operationError", + ) + _GetSyncErrorDetailHelper._build_schema_catalog_error_details_read(_schema_on_200.operation_error) + + conflicts = cls._schema_on_200.conflicts + conflicts.Element = AAZObjectType() + + _element = cls._schema_on_200.conflicts.Element + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.path = AAZStrType( + flags={"read_only": True}, + ) + + errors = cls._schema_on_200.errors + errors.Element = AAZObjectType() + + _element = cls._schema_on_200.errors.Element + _element.error_details = AAZListType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + _element.path = AAZStrType( + flags={"read_only": True}, + ) + + error_details = cls._schema_on_200.errors.Element.error_details + error_details.Element = AAZObjectType() + _GetSyncErrorDetailHelper._build_schema_catalog_error_details_read(error_details.Element) + + return cls._schema_on_200 + + +class _GetSyncErrorDetailHelper: + """Helper class for GetSyncErrorDetail""" + + _schema_catalog_error_details_read = None + + @classmethod + def _build_schema_catalog_error_details_read(cls, _schema): + if cls._schema_catalog_error_details_read is not None: + _schema.code = cls._schema_catalog_error_details_read.code + _schema.message = cls._schema_catalog_error_details_read.message + return + + cls._schema_catalog_error_details_read = _schema_catalog_error_details_read = AAZObjectType() + + catalog_error_details_read = _schema_catalog_error_details_read + catalog_error_details_read.code = AAZStrType() + catalog_error_details_read.message = AAZStrType() + + _schema.code = cls._schema_catalog_error_details_read.code + _schema.message = cls._schema_catalog_error_details_read.message + + +__all__ = ["GetSyncErrorDetail"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_list.py index 39ee28803bc..258d07aa71f 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -200,6 +205,9 @@ def _build_schema_on_200(cls): serialized_name="lastConnectionTime", flags={"read_only": True}, ) + properties.last_sync_stats = AAZObjectType( + serialized_name="lastSyncStats", + ) properties.last_sync_time = AAZStrType( serialized_name="lastSyncTime", flags={"read_only": True}, @@ -212,6 +220,31 @@ def _build_schema_on_200(cls): serialized_name="syncState", flags={"read_only": True}, ) + properties.sync_type = AAZStrType( + serialized_name="syncType", + ) + + last_sync_stats = cls._schema_on_200.value.Element.properties.last_sync_stats + last_sync_stats.added = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.removed = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.synchronization_errors = AAZIntType( + serialized_name="synchronizationErrors", + flags={"read_only": True}, + ) + last_sync_stats.unchanged = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.updated = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.validation_errors = AAZIntType( + serialized_name="validationErrors", + flags={"read_only": True}, + ) system_data = cls._schema_on_200.value.Element.system_data system_data.created_at = AAZStrType( diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_show.py index 2ce64579245..94e53005e53 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the catalog.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -130,7 +140,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -197,6 +207,9 @@ def _build_schema_on_200(cls): serialized_name="lastConnectionTime", flags={"read_only": True}, ) + properties.last_sync_stats = AAZObjectType( + serialized_name="lastSyncStats", + ) properties.last_sync_time = AAZStrType( serialized_name="lastSyncTime", flags={"read_only": True}, @@ -209,6 +222,31 @@ def _build_schema_on_200(cls): serialized_name="syncState", flags={"read_only": True}, ) + properties.sync_type = AAZStrType( + serialized_name="syncType", + ) + + last_sync_stats = cls._schema_on_200.properties.last_sync_stats + last_sync_stats.added = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.removed = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.synchronization_errors = AAZIntType( + serialized_name="synchronizationErrors", + flags={"read_only": True}, + ) + last_sync_stats.unchanged = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.updated = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.validation_errors = AAZIntType( + serialized_name="validationErrors", + flags={"read_only": True}, + ) system_data = cls._schema_on_200.system_data system_data.created_at = AAZStrType( diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_sync.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_sync.py index 2a845cb3e2c..510d87d8b32 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_sync.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_sync.py @@ -22,9 +22,9 @@ class Sync(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/sync", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/sync", "2023-10-01-preview"], ] } @@ -50,12 +50,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the catalog.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -143,7 +153,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_update.py index 5e9b4c405b2..b99ace8ddf0 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-10-01-preview"], ] } @@ -52,12 +52,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the catalog.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -80,6 +90,13 @@ def _build_arguments_schema(cls, *args, **kwargs): nullable=True, ) cls._build_args_git_catalog_update(_args_schema.git_hub) + _args_schema.sync_type = AAZStrArg( + options=["--sync-type"], + arg_group="Properties", + help="Indicates the type of sync that is configured for the catalog.", + nullable=True, + enum={"Manual": "Manual", "Scheduled": "Scheduled"}, + ) return cls._args_schema _args_git_catalog_update = None @@ -206,7 +223,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -309,7 +326,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -373,6 +390,7 @@ def _update_instance(self, instance): if properties is not None: _UpdateHelper._build_schema_git_catalog_update(properties.set_prop("adoGit", AAZObjectType, ".ado_git")) _UpdateHelper._build_schema_git_catalog_update(properties.set_prop("gitHub", AAZObjectType, ".git_hub")) + properties.set_prop("syncType", AAZStrType, ".sync_type") return _instance_value @@ -446,6 +464,9 @@ def _build_schema_catalog_read(cls, _schema): serialized_name="lastConnectionTime", flags={"read_only": True}, ) + properties.last_sync_stats = AAZObjectType( + serialized_name="lastSyncStats", + ) properties.last_sync_time = AAZStrType( serialized_name="lastSyncTime", flags={"read_only": True}, @@ -458,6 +479,31 @@ def _build_schema_catalog_read(cls, _schema): serialized_name="syncState", flags={"read_only": True}, ) + properties.sync_type = AAZStrType( + serialized_name="syncType", + ) + + last_sync_stats = _schema_catalog_read.properties.last_sync_stats + last_sync_stats.added = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.removed = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.synchronization_errors = AAZIntType( + serialized_name="synchronizationErrors", + flags={"read_only": True}, + ) + last_sync_stats.unchanged = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.updated = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.validation_errors = AAZIntType( + serialized_name="validationErrors", + flags={"read_only": True}, + ) system_data = _schema_catalog_read.system_data system_data.created_at = AAZStrType( diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_wait.py index 1abef2a9461..ae5f98aca4d 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}", "2023-10-01-preview"], ] } @@ -45,12 +45,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the catalog.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -126,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -193,6 +203,9 @@ def _build_schema_on_200(cls): serialized_name="lastConnectionTime", flags={"read_only": True}, ) + properties.last_sync_stats = AAZObjectType( + serialized_name="lastSyncStats", + ) properties.last_sync_time = AAZStrType( serialized_name="lastSyncTime", flags={"read_only": True}, @@ -205,6 +218,31 @@ def _build_schema_on_200(cls): serialized_name="syncState", flags={"read_only": True}, ) + properties.sync_type = AAZStrType( + serialized_name="syncType", + ) + + last_sync_stats = cls._schema_on_200.properties.last_sync_stats + last_sync_stats.added = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.removed = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.synchronization_errors = AAZIntType( + serialized_name="synchronizationErrors", + flags={"read_only": True}, + ) + last_sync_stats.unchanged = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.updated = AAZIntType( + flags={"read_only": True}, + ) + last_sync_stats.validation_errors = AAZIntType( + serialized_name="validationErrors", + flags={"read_only": True}, + ) system_data = cls._schema_on_200.system_data system_data.created_at = AAZStrType( diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/__cmd_group.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/__cmd_group.py new file mode 100644 index 00000000000..e71aba2da45 --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "devcenter admin catalog-devbox-definition", +) +class __CMDGroup(AAZCommandGroup): + """Manage catalog dev box definitions. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/__init__.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/__init__.py new file mode 100644 index 00000000000..a88f2db9d0d --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/__init__.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._get_error_detail import * +from ._list import * +from ._show import * diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_get_error_detail.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_get_error_detail.py new file mode 100644 index 00000000000..c2f5b3cd411 --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_get_error_detail.py @@ -0,0 +1,209 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog-devbox-definition get-error-detail", +) +class GetErrorDetail(AAZCommand): + """Gets catalog dev box definition error details. + + :example: Get error detail + az devcenter admin catalog-devbox-definition get-error-detail --catalog-name "CentralCatalog" --dev-center-name "Contoso" --resource-group "rg1" --devbox-definition-name "WebDevBox" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/devboxdefinitions/{}/geterrordetails", "2023-10-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.devbox_definition_name = AAZStrArg( + options=["-n", "--name", "--devbox-definition-name"], + help="The name of the dev box definition.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CatalogDevBoxDefinitionsGetErrorDetails(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class CatalogDevBoxDefinitionsGetErrorDetails(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}/getErrorDetails", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devBoxDefinitionName", self.ctx.args.devbox_definition_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.errors = AAZListType( + flags={"read_only": True}, + ) + + errors = cls._schema_on_200.errors + errors.Element = AAZObjectType() + + _element = cls._schema_on_200.errors.Element + _element.code = AAZStrType() + _element.message = AAZStrType() + + return cls._schema_on_200 + + +class _GetErrorDetailHelper: + """Helper class for GetErrorDetail""" + + +__all__ = ["GetErrorDetail"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_list.py new file mode 100644 index 00000000000..beac981c34a --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_list.py @@ -0,0 +1,306 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog-devbox-definition list", +) +class List(AAZCommand): + """List dev box definitions in the catalog. + + :example: List + az devcenter admin catalog-devbox-definition list --catalog-name "CentralCatalog" --dev-center-name "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/devboxdefinitions", "2023-10-01-preview"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CatalogDevBoxDefinitionsListByCatalog(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class CatalogDevBoxDefinitionsListByCatalog(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.active_image_reference = AAZObjectType( + serialized_name="activeImageReference", + ) + _ListHelper._build_schema_image_reference_read(properties.active_image_reference) + properties.hibernate_support = AAZStrType( + serialized_name="hibernateSupport", + ) + properties.image_reference = AAZObjectType( + serialized_name="imageReference", + flags={"required": True}, + ) + _ListHelper._build_schema_image_reference_read(properties.image_reference) + properties.image_validation_error_details = AAZObjectType( + serialized_name="imageValidationErrorDetails", + ) + properties.image_validation_status = AAZStrType( + serialized_name="imageValidationStatus", + ) + properties.os_storage_type = AAZStrType( + serialized_name="osStorageType", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.sku = AAZObjectType( + flags={"required": True}, + ) + properties.validation_status = AAZStrType( + serialized_name="validationStatus", + ) + + image_validation_error_details = cls._schema_on_200.value.Element.properties.image_validation_error_details + image_validation_error_details.code = AAZStrType() + image_validation_error_details.message = AAZStrType() + + sku = cls._schema_on_200.value.Element.properties.sku + sku.capacity = AAZIntType() + sku.family = AAZStrType() + sku.name = AAZStrType( + flags={"required": True}, + ) + sku.size = AAZStrType() + sku.tier = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + _schema_image_reference_read = None + + @classmethod + def _build_schema_image_reference_read(cls, _schema): + if cls._schema_image_reference_read is not None: + _schema.exact_version = cls._schema_image_reference_read.exact_version + _schema.id = cls._schema_image_reference_read.id + return + + cls._schema_image_reference_read = _schema_image_reference_read = AAZObjectType() + + image_reference_read = _schema_image_reference_read + image_reference_read.exact_version = AAZStrType( + serialized_name="exactVersion", + flags={"read_only": True}, + ) + image_reference_read.id = AAZStrType() + + _schema.exact_version = cls._schema_image_reference_read.exact_version + _schema.id = cls._schema_image_reference_read.id + + +__all__ = ["List"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_show.py new file mode 100644 index 00000000000..784dac882ad --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_devbox_definition/_show.py @@ -0,0 +1,309 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog-devbox-definition show", +) +class Show(AAZCommand): + """Get a dev box definition from the catalog. + + :example: Get + az devcenter admin catalog-devbox-definition show --catalog-name "CentralCatalog" -devbox-definition-name "devBoxDef" --dev-center-name "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/devboxdefinitions/{}", "2023-10-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.devbox_definition_name = AAZStrArg( + options=["-n", "--name", "--devbox-definition-name"], + help="The name of the dev box definition.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CatalogDevBoxDefinitionsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class CatalogDevBoxDefinitionsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devBoxDefinitionName", self.ctx.args.devbox_definition_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.active_image_reference = AAZObjectType( + serialized_name="activeImageReference", + ) + _ShowHelper._build_schema_image_reference_read(properties.active_image_reference) + properties.hibernate_support = AAZStrType( + serialized_name="hibernateSupport", + ) + properties.image_reference = AAZObjectType( + serialized_name="imageReference", + flags={"required": True}, + ) + _ShowHelper._build_schema_image_reference_read(properties.image_reference) + properties.image_validation_error_details = AAZObjectType( + serialized_name="imageValidationErrorDetails", + ) + properties.image_validation_status = AAZStrType( + serialized_name="imageValidationStatus", + ) + properties.os_storage_type = AAZStrType( + serialized_name="osStorageType", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.sku = AAZObjectType( + flags={"required": True}, + ) + properties.validation_status = AAZStrType( + serialized_name="validationStatus", + ) + + image_validation_error_details = cls._schema_on_200.properties.image_validation_error_details + image_validation_error_details.code = AAZStrType() + image_validation_error_details.message = AAZStrType() + + sku = cls._schema_on_200.properties.sku + sku.capacity = AAZIntType() + sku.family = AAZStrType() + sku.name = AAZStrType( + flags={"required": True}, + ) + sku.size = AAZStrType() + sku.tier = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + _schema_image_reference_read = None + + @classmethod + def _build_schema_image_reference_read(cls, _schema): + if cls._schema_image_reference_read is not None: + _schema.exact_version = cls._schema_image_reference_read.exact_version + _schema.id = cls._schema_image_reference_read.id + return + + cls._schema_image_reference_read = _schema_image_reference_read = AAZObjectType() + + image_reference_read = _schema_image_reference_read + image_reference_read.exact_version = AAZStrType( + serialized_name="exactVersion", + flags={"read_only": True}, + ) + image_reference_read.id = AAZStrType() + + _schema.exact_version = cls._schema_image_reference_read.exact_version + _schema.id = cls._schema_image_reference_read.id + + +__all__ = ["Show"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/__cmd_group.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/__cmd_group.py new file mode 100644 index 00000000000..563e3787fd7 --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "devcenter admin catalog-task", +) +class __CMDGroup(AAZCommandGroup): + """Manage tasks in catalog. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/__init__.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/__init__.py new file mode 100644 index 00000000000..a88f2db9d0d --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/__init__.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._get_error_detail import * +from ._list import * +from ._show import * diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_get_error_detail.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_get_error_detail.py new file mode 100644 index 00000000000..123799c73be --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_get_error_detail.py @@ -0,0 +1,209 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog-task get-error-detail", +) +class GetErrorDetail(AAZCommand): + """Gets customization task error details. + + :example: Get error detail + az devcenter admin catalog-task get-error-detail --catalog-name "CentralCatalog" --task-name "SampleTask" --dev-center-name "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/tasks/{}/geterrordetails", "2023-10-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.task_name = AAZStrArg( + options=["-n", "--name", "--task-name"], + help="The name of the task.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CustomizationTasksGetErrorDetails(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class CustomizationTasksGetErrorDetails(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}/getErrorDetails", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + **self.serialize_url_param( + "taskName", self.ctx.args.task_name, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.errors = AAZListType( + flags={"read_only": True}, + ) + + errors = cls._schema_on_200.errors + errors.Element = AAZObjectType() + + _element = cls._schema_on_200.errors.Element + _element.code = AAZStrType() + _element.message = AAZStrType() + + return cls._schema_on_200 + + +class _GetErrorDetailHelper: + """Helper class for GetErrorDetail""" + + +__all__ = ["GetErrorDetail"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_list.py new file mode 100644 index 00000000000..a8fa4cd5adb --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_list.py @@ -0,0 +1,257 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog-task list", +) +class List(AAZCommand): + """List tasks in the catalog. + + :example: List + az devcenter admin catalog-task list --catalog-name "CentralCatalog" --dev-center-name "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/tasks", "2023-10-01-preview"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CustomizationTasksListByCatalog(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class CustomizationTasksListByCatalog(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.inputs = AAZDictType( + flags={"read_only": True}, + ) + properties.timeout = AAZIntType( + flags={"read_only": True}, + ) + properties.validation_status = AAZStrType( + serialized_name="validationStatus", + ) + + inputs = cls._schema_on_200.value.Element.properties.inputs + inputs.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.inputs.Element + _element.description = AAZStrType( + flags={"read_only": True}, + ) + _element.required = AAZBoolType( + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_show.py new file mode 100644 index 00000000000..4d8bade9221 --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/catalog_task/_show.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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin catalog-task show", +) +class Show(AAZCommand): + """Get a task from the catalog. + + :example: Get + az devcenter admin catalog-task show --catalog-name "CentralCatalog" --task-name "SampleTask" --dev-center-name "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/tasks/{}", "2023-10-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.task_name = AAZStrArg( + options=["-n", "--name", "--task-name"], + help="The name of the task.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CustomizationTasksGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class CustomizationTasksGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + **self.serialize_url_param( + "taskName", self.ctx.args.task_name, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.inputs = AAZDictType( + flags={"read_only": True}, + ) + properties.timeout = AAZIntType( + flags={"read_only": True}, + ) + properties.validation_status = AAZStrType( + serialized_name="validationStatus", + ) + + inputs = cls._schema_on_200.properties.inputs + inputs.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.inputs.Element + _element.description = AAZStrType( + flags={"read_only": True}, + ) + _element.required = AAZBoolType( + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/check_name_availability/_execute.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/check_name_availability/_execute.py index 100da3c8ba1..68b0ed8027f 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/check_name_availability/_execute.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/check_name_availability/_execute.py @@ -22,9 +22,9 @@ class Execute(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/checknameavailability", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/checknameavailability", "2023-10-01-preview"], ] } @@ -115,7 +115,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_create.py index 8a2ffd86896..8cadd0e92d4 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_create.py @@ -18,13 +18,13 @@ class Create(AAZCommand): """Create a dev box definition. :example: Create - az devcenter admin devbox-definition create --location "eastus" --image-reference id="/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" --os-storage-type "ssd_1024gb" --sku name="general_a_8c32gb1024ssd_v2" --name "WebDevBox" --dev-center-name "Contoso" --resource-group "rg1" + az devcenter admin devbox-definition create --location "eastus" --image-reference id="/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" --os-storage-type "ssd_1024gb" --sku name="general_a_8c32gb_v1" --name "WebDevBox" --dev-center-name "Contoso" --resource-group "rg1" """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-10-01-preview"], ] } @@ -49,11 +49,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--devbox-definition-name"], help="The name of the dev box definition.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -84,7 +94,6 @@ def _build_arguments_schema(cls, *args, **kwargs): _args_schema = cls._args_schema _args_schema.hibernate_support = AAZStrArg( options=["--hibernate-support"], - is_preview=True, arg_group="Properties", help="Indicates whether dev boxes created with this definition are capable of hibernation. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", enum={"Disabled": "Disabled", "Enabled": "Enabled"}, @@ -221,7 +230,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -343,10 +352,6 @@ def _build_schema_on_200_201(cls): properties.sku = AAZObjectType( flags={"required": True}, ) - properties.validation_error_details = AAZListType( - serialized_name="validationErrorDetails", - flags={"read_only": True}, - ) properties.validation_status = AAZStrType( serialized_name="validationStatus", ) @@ -364,13 +369,6 @@ def _build_schema_on_200_201(cls): sku.size = AAZStrType() sku.tier = AAZStrType() - validation_error_details = cls._schema_on_200_201.properties.validation_error_details - validation_error_details.Element = AAZObjectType() - - _element = cls._schema_on_200_201.properties.validation_error_details.Element - _element.code = AAZStrType() - _element.message = AAZStrType() - system_data = cls._schema_on_200_201.system_data system_data.created_at = AAZStrType( serialized_name="createdAt", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_delete.py index 2731c7c0d27..f4dcd8525fb 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev box definition.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -153,7 +163,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_list.py index 23de6a3d34d..02f6ce38673 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_list.py @@ -25,10 +25,10 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/devboxdefinitions", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/devboxdefinitions", "2023-10-01-preview"], ] } @@ -52,10 +52,20 @@ def _build_arguments_schema(cls, *args, **kwargs): _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -133,7 +143,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -228,10 +238,6 @@ def _build_schema_on_200(cls): properties.sku = AAZObjectType( flags={"required": True}, ) - properties.validation_error_details = AAZListType( - serialized_name="validationErrorDetails", - flags={"read_only": True}, - ) properties.validation_status = AAZStrType( serialized_name="validationStatus", ) @@ -249,13 +255,6 @@ def _build_schema_on_200(cls): sku.size = AAZStrType() sku.tier = AAZStrType() - validation_error_details = cls._schema_on_200.value.Element.properties.validation_error_details - validation_error_details.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element.properties.validation_error_details.Element - _element.code = AAZStrType() - _element.message = AAZStrType() - system_data = cls._schema_on_200.value.Element.system_data system_data.created_at = AAZStrType( serialized_name="createdAt", @@ -329,7 +328,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -424,10 +423,6 @@ def _build_schema_on_200(cls): properties.sku = AAZObjectType( flags={"required": True}, ) - properties.validation_error_details = AAZListType( - serialized_name="validationErrorDetails", - flags={"read_only": True}, - ) properties.validation_status = AAZStrType( serialized_name="validationStatus", ) @@ -445,13 +440,6 @@ def _build_schema_on_200(cls): sku.size = AAZStrType() sku.tier = AAZStrType() - validation_error_details = cls._schema_on_200.value.Element.properties.validation_error_details - validation_error_details.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element.properties.validation_error_details.Element - _element.code = AAZStrType() - _element.message = AAZStrType() - system_data = cls._schema_on_200.value.Element.system_data system_data.created_at = AAZStrType( serialized_name="createdAt", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_show.py index e905f73a3d2..bdb4eef5eea 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_show.py @@ -25,10 +25,10 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/devboxdefinitions/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/devboxdefinitions/{}", "2023-10-01-preview"], ] } @@ -144,7 +144,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -227,10 +227,6 @@ def _build_schema_on_200(cls): properties.sku = AAZObjectType( flags={"required": True}, ) - properties.validation_error_details = AAZListType( - serialized_name="validationErrorDetails", - flags={"read_only": True}, - ) properties.validation_status = AAZStrType( serialized_name="validationStatus", ) @@ -248,13 +244,6 @@ def _build_schema_on_200(cls): sku.size = AAZStrType() sku.tier = AAZStrType() - validation_error_details = cls._schema_on_200.properties.validation_error_details - validation_error_details.Element = AAZObjectType() - - _element = cls._schema_on_200.properties.validation_error_details.Element - _element.code = AAZStrType() - _element.message = AAZStrType() - system_data = cls._schema_on_200.system_data system_data.created_at = AAZStrType( serialized_name="createdAt", @@ -332,7 +321,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -415,10 +404,6 @@ def _build_schema_on_200(cls): properties.sku = AAZObjectType( flags={"required": True}, ) - properties.validation_error_details = AAZListType( - serialized_name="validationErrorDetails", - flags={"read_only": True}, - ) properties.validation_status = AAZStrType( serialized_name="validationStatus", ) @@ -436,13 +421,6 @@ def _build_schema_on_200(cls): sku.size = AAZStrType() sku.tier = AAZStrType() - validation_error_details = cls._schema_on_200.properties.validation_error_details - validation_error_details.Element = AAZObjectType() - - _element = cls._schema_on_200.properties.validation_error_details.Element - _element.code = AAZStrType() - _element.message = AAZStrType() - system_data = cls._schema_on_200.system_data system_data.created_at = AAZStrType( serialized_name="createdAt", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_update.py index b266ca3b39f..92bf2770868 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-10-01-preview"], ] } @@ -52,12 +52,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev box definition.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -83,7 +93,6 @@ def _build_arguments_schema(cls, *args, **kwargs): _args_schema = cls._args_schema _args_schema.hibernate_support = AAZStrArg( options=["--hibernate-support"], - is_preview=True, arg_group="Properties", help="Indicates whether dev boxes created with this definition are capable of hibernation. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", nullable=True, @@ -223,7 +232,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -326,7 +335,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -491,10 +500,6 @@ def _build_schema_dev_box_definition_read(cls, _schema): properties.sku = AAZObjectType( flags={"required": True}, ) - properties.validation_error_details = AAZListType( - serialized_name="validationErrorDetails", - flags={"read_only": True}, - ) properties.validation_status = AAZStrType( serialized_name="validationStatus", ) @@ -512,13 +517,6 @@ def _build_schema_dev_box_definition_read(cls, _schema): sku.size = AAZStrType() sku.tier = AAZStrType() - validation_error_details = _schema_dev_box_definition_read.properties.validation_error_details - validation_error_details.Element = AAZObjectType() - - _element = _schema_dev_box_definition_read.properties.validation_error_details.Element - _element.code = AAZStrType() - _element.message = AAZStrType() - system_data = _schema_dev_box_definition_read.system_data system_data.created_at = AAZStrType( serialized_name="createdAt", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_wait.py index 1f2b847b6dd..09c73775ba0 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devbox_definition/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/devboxdefinitions/{}", "2023-10-01-preview"], ] } @@ -45,12 +45,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev box definition.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.dev_center_name = AAZStrArg( options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -126,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -232,10 +242,6 @@ def _build_schema_dev_box_definition_read(cls, _schema): properties.sku = AAZObjectType( flags={"required": True}, ) - properties.validation_error_details = AAZListType( - serialized_name="validationErrorDetails", - flags={"read_only": True}, - ) properties.validation_status = AAZStrType( serialized_name="validationStatus", ) @@ -253,13 +259,6 @@ def _build_schema_dev_box_definition_read(cls, _schema): sku.size = AAZStrType() sku.tier = AAZStrType() - validation_error_details = _schema_dev_box_definition_read.properties.validation_error_details - validation_error_details.Element = AAZObjectType() - - _element = _schema_dev_box_definition_read.properties.validation_error_details.Element - _element.code = AAZStrType() - _element.message = AAZStrType() - system_data = _schema_dev_box_definition_read.system_data system_data.created_at = AAZStrType( serialized_name="createdAt", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_create.py index fc749b9fa6e..05125ec637d 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_create.py @@ -23,9 +23,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-10-01-preview"], ] } @@ -50,6 +50,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name"], help="The name of the dev center.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -94,6 +99,51 @@ def _build_arguments_schema(cls, *args, **kwargs): user_assigned_identities.Element = AAZObjectArg( blank={}, ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the devcenter.", + ) + _args_schema.encryption = AAZObjectArg( + options=["--encryption"], + arg_group="Properties", + help="Encryption settings to be used for server-side encryption for proprietary content (such as catalogs, logs, customizations).", + ) + + encryption = cls._args_schema.encryption + encryption.customer_managed_key_encryption = AAZObjectArg( + options=["customer-managed-key-encryption"], + help="All Customer-managed key encryption properties for the resource.", + ) + + customer_managed_key_encryption = cls._args_schema.encryption.customer_managed_key_encryption + customer_managed_key_encryption.key_encryption_key_identity = AAZObjectArg( + options=["key-encryption-key-identity"], + help="All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault.", + ) + customer_managed_key_encryption.key_encryption_key_url = AAZStrArg( + options=["key-encryption-key-url"], + help="key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek.", + ) + + key_encryption_key_identity = cls._args_schema.encryption.customer_managed_key_encryption.key_encryption_key_identity + key_encryption_key_identity.delegated_identity_client_id = AAZUuidArg( + options=["delegated-identity-client-id"], + help="delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only.", + ) + key_encryption_key_identity.identity_type = AAZStrArg( + options=["identity-type"], + help="Values can be systemAssignedIdentity or userAssignedIdentity", + enum={"delegatedResourceIdentity": "delegatedResourceIdentity", "systemAssignedIdentity": "systemAssignedIdentity", "userAssignedIdentity": "userAssignedIdentity"}, + ) + key_encryption_key_identity.user_assigned_identity_resource_id = AAZResourceIdArg( + options=["user-assigned-identity-resource-id"], + help="user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity.", + ) return cls._args_schema def _execute_operations(self): @@ -177,7 +227,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -218,6 +268,7 @@ def content(self): properties = _builder.get(".properties") if properties is not None: + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("encryption", AAZObjectType, ".encryption") encryption = _builder.get(".properties.encryption") @@ -315,6 +366,9 @@ def _build_schema_on_200_201(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.encryption = AAZObjectType() properties.provisioning_state = AAZStrType( serialized_name="provisioningState", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_delete.py index 21429d1d0d6..91a63d373c0 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-10-01-preview"], ] } @@ -51,6 +51,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -143,7 +148,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_list.py index 89106574ecc..486e210958e 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_list.py @@ -25,10 +25,10 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/devcenters", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/devcenters", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters", "2023-10-01-preview"], ] } @@ -119,7 +119,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -220,6 +220,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.encryption = AAZObjectType() properties.provisioning_state = AAZStrType( serialized_name="provisioningState", @@ -315,7 +318,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -416,6 +419,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.encryption = AAZObjectType() properties.provisioning_state = AAZStrType( serialized_name="provisioningState", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_show.py index 45cfe8875c3..1a4f4ad4dbc 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -120,7 +125,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -209,6 +214,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.encryption = AAZObjectType() properties.provisioning_state = AAZStrType( serialized_name="provisioningState", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_update.py index 1b5580d786c..6f4e80c3418 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-10-01-preview"], ] } @@ -52,6 +52,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -93,6 +98,59 @@ def _build_arguments_schema(cls, *args, **kwargs): nullable=True, blank={}, ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the devcenter.", + nullable=True, + ) + _args_schema.encryption = AAZObjectArg( + options=["--encryption"], + arg_group="Properties", + help="Encryption settings to be used for server-side encryption for proprietary content (such as catalogs, logs, customizations).", + nullable=True, + ) + + encryption = cls._args_schema.encryption + encryption.customer_managed_key_encryption = AAZObjectArg( + options=["customer-managed-key-encryption"], + help="All Customer-managed key encryption properties for the resource.", + nullable=True, + ) + + customer_managed_key_encryption = cls._args_schema.encryption.customer_managed_key_encryption + customer_managed_key_encryption.key_encryption_key_identity = AAZObjectArg( + options=["key-encryption-key-identity"], + help="All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault.", + nullable=True, + ) + customer_managed_key_encryption.key_encryption_key_url = AAZStrArg( + options=["key-encryption-key-url"], + help="key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek.", + nullable=True, + ) + + key_encryption_key_identity = cls._args_schema.encryption.customer_managed_key_encryption.key_encryption_key_identity + key_encryption_key_identity.delegated_identity_client_id = AAZUuidArg( + options=["delegated-identity-client-id"], + help="delegated identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and userAssignedIdentity - internal use only.", + nullable=True, + ) + key_encryption_key_identity.identity_type = AAZStrArg( + options=["identity-type"], + help="Values can be systemAssignedIdentity or userAssignedIdentity", + nullable=True, + enum={"delegatedResourceIdentity": "delegatedResourceIdentity", "systemAssignedIdentity": "systemAssignedIdentity", "userAssignedIdentity": "userAssignedIdentity"}, + ) + key_encryption_key_identity.user_assigned_identity_resource_id = AAZResourceIdArg( + options=["user-assigned-identity-resource-id"], + help="user assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive with identityType systemAssignedIdentity and delegatedResourceIdentity.", + nullable=True, + ) return cls._args_schema def _execute_operations(self): @@ -173,7 +231,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -272,7 +330,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -345,6 +403,7 @@ def _update_instance(self, instance): properties = _builder.get(".properties") if properties is not None: + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("encryption", AAZObjectType, ".encryption") encryption = _builder.get(".properties.encryption") @@ -454,6 +513,9 @@ def _build_schema_dev_center_read(cls, _schema): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.encryption = AAZObjectType() properties.provisioning_state = AAZStrType( serialized_name="provisioningState", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_wait.py index 8343d3697d7..cc9d0de8350 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/devcenter/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}", "2023-10-01-preview"], ] } @@ -45,6 +45,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -116,7 +121,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -205,6 +210,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.encryption = AAZObjectType() properties.provisioning_state = AAZStrType( serialized_name="provisioningState", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/__cmd_group.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/__cmd_group.py new file mode 100644 index 00000000000..7775525f462 --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "devcenter admin environment-definition", +) +class __CMDGroup(AAZCommandGroup): + """Mange environment definitions in the catalog. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/__init__.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/__init__.py new file mode 100644 index 00000000000..a88f2db9d0d --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/__init__.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._get_error_detail import * +from ._list import * +from ._show import * diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_get_error_detail.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_get_error_detail.py new file mode 100644 index 00000000000..921f573683a --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_get_error_detail.py @@ -0,0 +1,209 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin environment-definition get-error-detail", +) +class GetErrorDetail(AAZCommand): + """Gets environment definition error details. + + :example: Get error detail + az devcenter admin environment-definition get-error-detail --catalog-name "myCatalog" --dev-center "Contoso" --environment-definition-name "myEnvironmentDefinition" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/environmentdefinitions/{}/geterrordetails", "2023-10-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.environment_definition_name = AAZStrArg( + options=["-n", "--name", "--environment-definition-name"], + help="The name of the environment definition.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EnvironmentDefinitionsGetErrorDetails(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EnvironmentDefinitionsGetErrorDetails(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "environmentDefinitionName", self.ctx.args.environment_definition_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.errors = AAZListType( + flags={"read_only": True}, + ) + + errors = cls._schema_on_200.errors + errors.Element = AAZObjectType() + + _element = cls._schema_on_200.errors.Element + _element.code = AAZStrType() + _element.message = AAZStrType() + + return cls._schema_on_200 + + +class _GetErrorDetailHelper: + """Helper class for GetErrorDetail""" + + +__all__ = ["GetErrorDetail"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_list.py new file mode 100644 index 00000000000..f283c04bb9b --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_list.py @@ -0,0 +1,271 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin environment-definition list", +) +class List(AAZCommand): + """List environment definitions in the catalog. + + :example: List + az devcenter admin environment-definition list --catalog-name "myCatalog" --dev-center "Contoso" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/environmentdefinitions", "2023-10-01-preview"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EnvironmentDefinitionsListByCatalog(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class EnvironmentDefinitionsListByCatalog(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.description = AAZStrType( + flags={"read_only": True}, + ) + properties.parameters = AAZListType( + flags={"read_only": True}, + ) + properties.template_path = AAZStrType( + serialized_name="templatePath", + flags={"read_only": True}, + ) + properties.validation_status = AAZStrType( + serialized_name="validationStatus", + ) + + parameters = cls._schema_on_200.value.Element.properties.parameters + parameters.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.parameters.Element + _element.description = AAZStrType( + flags={"read_only": True}, + ) + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.read_only = AAZBoolType( + serialized_name="readOnly", + flags={"read_only": True}, + ) + _element.required = AAZBoolType( + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_show.py new file mode 100644 index 00000000000..240c0ca7526 --- /dev/null +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_definition/_show.py @@ -0,0 +1,274 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "devcenter admin environment-definition show", +) +class Show(AAZCommand): + """Get an environment definition from the catalog. + + :example: Get + az devcenter admin environment-definition show --catalog-name "myCatalog" --dev-center "Contoso" --environment-definition-name "myEnvironmentDefinition" --resource-group "rg1" + """ + + _aaz_info = { + "version": "2023-10-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/environmentdefinitions/{}", "2023-10-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.catalog_name = AAZStrArg( + options=["--catalog-name"], + help="The name of the catalog.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.dev_center_name = AAZStrArg( + options=["-d", "--dev-center", "--dev-center-name"], + help="The name of the dev center.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), + ) + _args_schema.environment_definition_name = AAZStrArg( + options=["-n", "--name", "--environment-definition-name"], + help="The name of the environment definition.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EnvironmentDefinitionsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EnvironmentDefinitionsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "catalogName", self.ctx.args.catalog_name, + required=True, + ), + **self.serialize_url_param( + "devCenterName", self.ctx.args.dev_center_name, + required=True, + ), + **self.serialize_url_param( + "environmentDefinitionName", self.ctx.args.environment_definition_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType( + flags={"read_only": True}, + ) + properties.parameters = AAZListType( + flags={"read_only": True}, + ) + properties.template_path = AAZStrType( + serialized_name="templatePath", + flags={"read_only": True}, + ) + properties.validation_status = AAZStrType( + serialized_name="validationStatus", + ) + + parameters = cls._schema_on_200.properties.parameters + parameters.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.parameters.Element + _element.description = AAZStrType( + flags={"read_only": True}, + ) + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.read_only = AAZBoolType( + serialized_name="readOnly", + flags={"read_only": True}, + ) + _element.required = AAZBoolType( + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_create.py index 326efae4a1b..8699b2cf248 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_create.py @@ -22,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -48,11 +48,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.environment_type_name = AAZStrArg( options=["-n", "--name", "--environment-type-name"], help="The name of the environment type.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -69,6 +79,15 @@ def _build_arguments_schema(cls, *args, **kwargs): tags = cls._args_schema.tags tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the environment type.", + ) return cls._args_schema def _execute_operations(self): @@ -140,7 +159,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -165,8 +184,13 @@ def content(self): typ=AAZObjectType, typ_kwargs={"flags": {"required": True, "client_flatten": True}} ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) _builder.set_prop("tags", AAZDictType, ".tags") + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("displayName", AAZStrType, ".display_name") + tags = _builder.get(".tags") if tags is not None: tags.set_elements(AAZStrType, ".") @@ -210,6 +234,9 @@ def _build_schema_on_200(cls): ) properties = cls._schema_on_200.properties + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_delete.py index bc66a8637a6..6612c6e78af 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -50,12 +50,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.environment_type_name = AAZStrArg( options=["-n", "--name", "--environment-type-name"], help="The name of the environment type.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -129,7 +139,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_list.py index 48b17af5bc4..079cafcb9dc 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -185,6 +190,9 @@ def _build_schema_on_200(cls): ) properties = cls._schema_on_200.value.Element.properties + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_show.py index fb92b4993fb..58a070d368e 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.environment_type_name = AAZStrArg( options=["-n", "--name", "--environment-type-name"], help="The name of the environment type.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -130,7 +140,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -182,6 +192,9 @@ def _build_schema_on_200(cls): ) properties = cls._schema_on_200.properties + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_update.py index 5c8a1090a70..1639a165d46 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/environment_type/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.environment_type_name = AAZStrArg( options=["-n", "--name", "--environment-type-name"], help="The name of the environment type.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -76,6 +86,16 @@ def _build_arguments_schema(cls, *args, **kwargs): tags.Element = AAZStrArg( nullable=True, ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the environment type.", + nullable=True, + ) return cls._args_schema def _execute_operations(self): @@ -160,7 +180,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -247,7 +267,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -305,8 +325,13 @@ def _update_instance(self, instance): value=instance, typ=AAZObjectType ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) _builder.set_prop("tags", AAZDictType, ".tags") + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("displayName", AAZStrType, ".display_name") + tags = _builder.get(".tags") if tags is not None: tags.set_elements(AAZStrType, ".") @@ -360,6 +385,9 @@ def _build_schema_environment_type_read(cls, _schema): ) properties = _schema_environment_type_read.properties + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_create.py index 3bebf9358cb..67ede505fc0 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_create.py @@ -22,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-10-01-preview"], ] } @@ -49,11 +49,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["-n", "--name", "--gallery-name"], help="The name of the gallery.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -154,7 +164,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_delete.py index 724b156ba78..f2ec3ee82ae 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["-n", "--name", "--gallery-name"], help="The name of the gallery.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -153,7 +163,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_list.py index 660dfa6dd49..ac5922d97e5 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_show.py index d7bce527c49..8d753396246 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["-n", "--name", "--gallery-name"], help="The name of the gallery.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -130,7 +140,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_wait.py index ecc124315bb..e5e4d340d5a 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/gallery/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}", "2023-10-01-preview"], ] } @@ -45,12 +45,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["-n", "--name", "--gallery-name"], help="The name of the gallery.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -126,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_list.py index 76ce6bbd6e7..1b3ce65ce95 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_list.py @@ -25,10 +25,10 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/images", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/images", "2023-10-01-preview"], ] } @@ -53,10 +53,20 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["--gallery-name"], help="The name of the gallery.", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -134,7 +144,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -302,7 +312,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_show.py index f11c7086eba..292c05f0bf9 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["--gallery-name"], help="The name of the gallery.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.image_name = AAZStrArg( options=["-n", "--name", "--image-name"], @@ -140,7 +150,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_list.py index 0cfed59d26a..87bcbddb531 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images/{}/versions", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images/{}/versions", "2023-10-01-preview"], ] } @@ -49,11 +49,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-d", "--dev-center", "--dev-center-name"], help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["--gallery-name"], help="The name of the gallery.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.image_name = AAZStrArg( options=["--image-name"], @@ -139,7 +149,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_show.py index b02fb53d156..f8af9271f4d 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/image_version/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images/{}/versions/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/galleries/{}/images/{}/versions/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the dev center. Use `az configure -d dev-center=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + max_length=26, + min_length=3, + ), ) _args_schema.gallery_name = AAZStrArg( options=["--gallery-name"], help="The name of the gallery.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.image_name = AAZStrArg( options=["--image-name"], @@ -150,7 +160,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_create.py index 344a5df6e41..4e177b5ecb6 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_create.py @@ -25,9 +25,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-10-01-preview"], ] } @@ -52,6 +52,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--network-connection-name"], help="Name of the network connection that can be applied to a pool.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -202,7 +207,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_delete.py index ea94e88102f..6b1f2df55a9 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-10-01-preview"], ] } @@ -51,6 +51,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the network connection that can be applied to a pool.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -143,7 +148,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list.py index 3eefe560668..c9d1d113e75 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list.py @@ -25,10 +25,10 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/networkconnections", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/networkconnections", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections", "2023-10-01-preview"], ] } @@ -54,12 +54,12 @@ def _build_arguments_schema(cls, *args, **kwargs): def _execute_operations(self): self.pre_operations() - condition_0 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) - condition_1 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True + condition_0 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True + condition_1 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) if condition_0: - self.NetworkConnectionsListByResourceGroup(ctx=self.ctx)() - if condition_1: self.NetworkConnectionsListBySubscription(ctx=self.ctx)() + if condition_1: + self.NetworkConnectionsListByResourceGroup(ctx=self.ctx)() self.post_operations() @register_callback @@ -75,7 +75,7 @@ def _output(self, *args, **kwargs): next_link = self.deserialize_output(self.ctx.vars.instance.next_link) return result, next_link - class NetworkConnectionsListByResourceGroup(AAZHttpOperation): + class NetworkConnectionsListBySubscription(AAZHttpOperation): CLIENT_TYPE = "MgmtClient" def __call__(self, *args, **kwargs): @@ -89,7 +89,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections", + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/networkConnections", **self.url_parameters ) @@ -104,10 +104,6 @@ def error_format(self): @property def url_parameters(self): parameters = { - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), **self.serialize_url_param( "subscriptionId", self.ctx.subscription_id, required=True, @@ -119,7 +115,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -243,7 +239,7 @@ def _build_schema_on_200(cls): return cls._schema_on_200 - class NetworkConnectionsListBySubscription(AAZHttpOperation): + class NetworkConnectionsListByResourceGroup(AAZHttpOperation): CLIENT_TYPE = "MgmtClient" def __call__(self, *args, **kwargs): @@ -257,7 +253,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/networkConnections", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections", **self.url_parameters ) @@ -272,6 +268,10 @@ def error_format(self): @property def url_parameters(self): parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), **self.serialize_url_param( "subscriptionId", self.ctx.subscription_id, required=True, @@ -283,7 +283,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_health_check.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_health_check.py index 1faf87f68f9..bd45acf2ac7 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_health_check.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_health_check.py @@ -22,9 +22,9 @@ class ListHealthCheck(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/healthchecks", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/healthchecks", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--network-connection-name"], help="Name of the network connection that can be applied to a pool.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_outbound_network_dependencies_endpoint.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_outbound_network_dependencies_endpoint.py index 8913b950703..a9a0f798934 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_outbound_network_dependencies_endpoint.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_list_outbound_network_dependencies_endpoint.py @@ -22,9 +22,9 @@ class ListOutboundNetworkDependenciesEndpoint(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/outboundnetworkdependenciesendpoints", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/outboundnetworkdependenciesendpoints", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--network-connection-name"], help="Name of the network connection that can be applied to a pool.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_run_health_check.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_run_health_check.py index 4da62a87399..c08c9946bbf 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_run_health_check.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_run_health_check.py @@ -22,9 +22,9 @@ class RunHealthCheck(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/runhealthchecks", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/runhealthchecks", "2023-10-01-preview"], ] } @@ -50,6 +50,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the network connection that can be applied to a pool.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -133,7 +138,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show.py index 06c3a2517df..3981af9557e 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the network connection that can be applied to a pool.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -120,7 +125,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show_health_check.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show_health_check.py index d5d339971bb..61a2b5388c2 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show_health_check.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_show_health_check.py @@ -22,9 +22,9 @@ class ShowHealthCheck(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/healthchecks/latest", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}/healthchecks/latest", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the network connection that can be applied to a pool.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -120,7 +125,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_update.py index 12d0c4ec48e..c2fee91af57 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_update.py @@ -15,21 +15,20 @@ "devcenter admin network-connection update", ) class Update(AAZCommand): - """Update a network connection. - - :example: Update - az devcenter admin network-connection update --domain-password "New Password value for user" --name "{networkConnectionName}" --resource-group "rg1" + """Update a Network Connections resource """ _aaz_info = { - "version": "2023-04-01", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-04-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-10-01-preview"], ] } AZ_SUPPORT_NO_WAIT = True + AZ_SUPPORT_GENERIC_UPDATE = True + def _handler(self, command_args): super()._handler(command_args) return self.build_lro_poller(self._execute_operations, self._output) @@ -47,12 +46,16 @@ def _build_arguments_schema(cls, *args, **kwargs): _args_schema = cls._args_schema _args_schema.network_connection_name = AAZStrArg( options=["-n", "--name", "--network-connection-name"], - help="Name of the network connection that can be applied to a pool.", + help="Name of the Network Connection that can be applied to a Pool.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="Name of resource group. You can configure the default group using `az configure --defaults group=`.", required=True, ) @@ -63,10 +66,13 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["--tags"], arg_group="Body", help="Resource tags.", + nullable=True, ) tags = cls._args_schema.tags - tags.Element = AAZStrArg() + tags.Element = AAZStrArg( + nullable=True, + ) # define Arg Group "Properties" @@ -74,36 +80,42 @@ def _build_arguments_schema(cls, *args, **kwargs): _args_schema.domain_name = AAZStrArg( options=["--domain-name"], arg_group="Properties", - help="Active Directory domain name.", + help="Active Directory domain name", + nullable=True, ) _args_schema.domain_password = AAZStrArg( options=["--domain-password"], arg_group="Properties", - help="The password for the account used to join domain.", - blank=AAZPromptInput( - msg="Domain password:", - ), + help="The password for the account used to join domain", + nullable=True, ) _args_schema.domain_username = AAZStrArg( options=["--domain-username"], arg_group="Properties", help="The username of an Active Directory account (user or service account) that has permissions to create computer objects in Active Directory. Required format: admin@contoso.com.", + nullable=True, ) _args_schema.organization_unit = AAZStrArg( options=["--organization-unit"], arg_group="Properties", - help="Active Directory domain Organization Unit (OU).", + help="Active Directory domain Organization Unit (OU)", + nullable=True, ) _args_schema.subnet_id = AAZStrArg( options=["--subnet-id"], arg_group="Properties", - help="The subnet to attach dev boxes to.", + help="The subnet to attach Virtual Machines to", ) return cls._args_schema def _execute_operations(self): self.pre_operations() - yield self.NetworkConnectionsUpdate(ctx=self.ctx)() + self.NetworkConnectionsGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + yield self.NetworkConnectionsCreateOrUpdate(ctx=self.ctx)() self.post_operations() @register_callback @@ -114,11 +126,102 @@ def pre_operations(self): def post_operations(self): pass + @register_callback + def pre_instance_update(self, instance): + pass + + @register_callback + def post_instance_update(self, instance): + pass + def _output(self, *args, **kwargs): result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) return result - class NetworkConnectionsUpdate(AAZHttpOperation): + class NetworkConnectionsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkConnectionName", self.ctx.args.network_connection_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-10-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_network_connection_read(cls._schema_on_200) + + return cls._schema_on_200 + + class NetworkConnectionsCreateOrUpdate(AAZHttpOperation): CLIENT_TYPE = "MgmtClient" def __call__(self, *args, **kwargs): @@ -128,16 +231,16 @@ def __call__(self, *args, **kwargs): return self.client.build_lro_polling( self.ctx.args.no_wait, session, - self.on_200, + self.on_200_201, self.on_error, lro_options={"final-state-via": "azure-async-operation"}, path_format_arguments=self.url_parameters, ) - if session.http_response.status_code in [200]: + if session.http_response.status_code in [200, 201]: return self.client.build_lro_polling( self.ctx.args.no_wait, session, - self.on_200, + self.on_200_201, self.on_error, lro_options={"final-state-via": "azure-async-operation"}, path_format_arguments=self.url_parameters, @@ -154,7 +257,7 @@ def url(self): @property def method(self): - return "PATCH" + return "PUT" @property def error_format(self): @@ -182,7 +285,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-04-01", + "api-version", "2023-10-01-preview", required=True, ), } @@ -204,8 +307,41 @@ def header_parameters(self): def content(self): _content_value, _builder = self.new_content_builder( self.ctx.args, - typ=AAZObjectType, - typ_kwargs={"flags": {"required": True, "client_flatten": True}} + value=self.ctx.vars.instance, + ) + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + _UpdateHelper._build_schema_network_connection_read(cls._schema_on_200_201) + + return cls._schema_on_200_201 + + class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance(self.ctx.vars.instance) + + def _update_instance(self, instance): + _instance_value, _builder = self.new_content_builder( + self.ctx.args, + value=instance, + typ=AAZObjectType ) _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) _builder.set_prop("tags", AAZDictType, ".tags") @@ -216,114 +352,127 @@ def content(self): properties.set_prop("domainPassword", AAZStrType, ".domain_password", typ_kwargs={"flags": {"secret": True}}) properties.set_prop("domainUsername", AAZStrType, ".domain_username") properties.set_prop("organizationUnit", AAZStrType, ".organization_unit") - properties.set_prop("subnetId", AAZStrType, ".subnet_id") + properties.set_prop("subnetId", AAZStrType, ".subnet_id", typ_kwargs={"flags": {"required": True}}) tags = _builder.get(".tags") if tags is not None: tags.set_elements(AAZStrType, ".") - return self.serialize_content(_content_value) + return _instance_value - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) + class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 + def __call__(self, *args, **kwargs): + self._update_instance_by_generic( + self.ctx.vars.instance, + self.ctx.generic_update_args + ) - cls._schema_on_200 = AAZObjectType() - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.location = AAZStrType( - flags={"required": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.tags = AAZDictType() - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) +class _UpdateHelper: + """Helper class for Update""" - properties = cls._schema_on_200.properties - properties.domain_join_type = AAZStrType( - serialized_name="domainJoinType", - flags={"required": True}, - ) - properties.domain_name = AAZStrType( - serialized_name="domainName", - ) - properties.domain_password = AAZStrType( - serialized_name="domainPassword", - flags={"secret": True}, - ) - properties.domain_username = AAZStrType( - serialized_name="domainUsername", - ) - properties.health_check_status = AAZStrType( - serialized_name="healthCheckStatus", - ) - properties.networking_resource_group_name = AAZStrType( - serialized_name="networkingResourceGroupName", - ) - properties.organization_unit = AAZStrType( - serialized_name="organizationUnit", - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.subnet_id = AAZStrType( - serialized_name="subnetId", - flags={"required": True}, - ) + _schema_network_connection_read = None - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) + @classmethod + def _build_schema_network_connection_read(cls, _schema): + if cls._schema_network_connection_read is not None: + _schema.id = cls._schema_network_connection_read.id + _schema.location = cls._schema_network_connection_read.location + _schema.name = cls._schema_network_connection_read.name + _schema.properties = cls._schema_network_connection_read.properties + _schema.system_data = cls._schema_network_connection_read.system_data + _schema.tags = cls._schema_network_connection_read.tags + _schema.type = cls._schema_network_connection_read.type + return + + cls._schema_network_connection_read = _schema_network_connection_read = AAZObjectType() + + network_connection_read = _schema_network_connection_read + network_connection_read.id = AAZStrType( + flags={"read_only": True}, + ) + network_connection_read.location = AAZStrType( + flags={"required": True}, + ) + network_connection_read.name = AAZStrType( + flags={"read_only": True}, + ) + network_connection_read.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + network_connection_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + network_connection_read.tags = AAZDictType() + network_connection_read.type = AAZStrType( + flags={"read_only": True}, + ) - tags = cls._schema_on_200.tags - tags.Element = AAZStrType() + properties = _schema_network_connection_read.properties + properties.domain_join_type = AAZStrType( + serialized_name="domainJoinType", + flags={"required": True}, + ) + properties.domain_name = AAZStrType( + serialized_name="domainName", + ) + properties.domain_password = AAZStrType( + serialized_name="domainPassword", + flags={"secret": True}, + ) + properties.domain_username = AAZStrType( + serialized_name="domainUsername", + ) + properties.health_check_status = AAZStrType( + serialized_name="healthCheckStatus", + ) + properties.networking_resource_group_name = AAZStrType( + serialized_name="networkingResourceGroupName", + ) + properties.organization_unit = AAZStrType( + serialized_name="organizationUnit", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.subnet_id = AAZStrType( + serialized_name="subnetId", + flags={"required": True}, + ) - return cls._schema_on_200 + system_data = _schema_network_connection_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + tags = _schema_network_connection_read.tags + tags.Element = AAZStrType() -class _UpdateHelper: - """Helper class for Update""" + _schema.id = cls._schema_network_connection_read.id + _schema.location = cls._schema_network_connection_read.location + _schema.name = cls._schema_network_connection_read.name + _schema.properties = cls._schema_network_connection_read.properties + _schema.system_data = cls._schema_network_connection_read.system_data + _schema.tags = cls._schema_network_connection_read.tags + _schema.type = cls._schema_network_connection_read.type __all__ = ["Update"] diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_wait.py index 113ea5371d5..2f1421536b8 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/network_connection/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/networkconnections/{}", "2023-10-01-preview"], ] } @@ -45,6 +45,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the network connection that can be applied to a pool.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -116,7 +121,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_create.py index 58f9d69e600..70d213e9715 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_create.py @@ -18,13 +18,13 @@ class Create(AAZCommand): """Create a pool. :example: Create - az devcenter admin pool create --location "eastus" --devbox-definition-name "WebDevBox" --network-connection-name "Network1-westus2" --pool-name "DevPool" --project-name "DevProject" --resource-group "rg1" --local-administrator "Enabled" + az devcenter admin pool create --location "eastus" --devbox-definition-name "WebDevBox" --network-connection-name "Network1-westus2" --pool-name "DevPool" --project-name "DevProject" --resource-group "rg1" --local-administrator "Enabled" --stop-on-disconnect grace-period-minutes="60" status="Enabled" """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-10-01-preview"], ] } @@ -49,11 +49,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--pool-name"], help="Name of the pool.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -87,6 +97,11 @@ def _build_arguments_schema(cls, *args, **kwargs): arg_group="Properties", help="Name of a dev box definition in parent project of this pool.", ) + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the pool.", + ) _args_schema.license_type = AAZStrArg( options=["--license-type"], arg_group="Properties", @@ -100,11 +115,31 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Indicates whether owners of dev boxes in this pool are added as local administrators on the dev box.", enum={"Disabled": "Disabled", "Enabled": "Enabled"}, ) + _args_schema.managed_virtual_network_regions = AAZListArg( + options=["--managed-virtual-network-regions"], + arg_group="Properties", + help="The regions of the managed virtual network (required when managedNetworkType is Managed).", + ) _args_schema.network_connection_name = AAZStrArg( options=["-c", "--network-connection-name"], arg_group="Properties", help="Name of a network connection in parent project of this pool.", ) + _args_schema.single_sign_on_status = AAZStrArg( + options=["--single-sign-on-status"], + arg_group="Properties", + help="Indicates whether Dev Boxes in this pool are created with single sign on enabled. The also requires that single sign on be enabled on the tenant.", + enum={"Disabled": "Disabled", "Enabled": "Enabled"}, + ) + _args_schema.virtual_network_type = AAZStrArg( + options=["--virtual-network-type"], + arg_group="Properties", + help="Indicates whether the pool uses a Virtual Network managed by Microsoft or a customer provided network.", + enum={"Managed": "Managed", "Unmanaged": "Unmanaged"}, + ) + + managed_virtual_network_regions = cls._args_schema.managed_virtual_network_regions + managed_virtual_network_regions.Element = AAZStrArg() return cls._args_schema def _execute_operations(self): @@ -192,7 +227,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -224,9 +259,17 @@ def content(self): properties = _builder.get(".properties") if properties is not None: properties.set_prop("devBoxDefinitionName", AAZStrType, ".devbox_definition_name", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("licenseType", AAZStrType, ".license_type", typ_kwargs={"flags": {"required": True}}) properties.set_prop("localAdministrator", AAZStrType, ".local_administrator", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("managedVirtualNetworkRegions", AAZListType, ".managed_virtual_network_regions") properties.set_prop("networkConnectionName", AAZStrType, ".network_connection_name", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("singleSignOnStatus", AAZStrType, ".single_sign_on_status") + properties.set_prop("virtualNetworkType", AAZStrType, ".virtual_network_type") + + managed_virtual_network_regions = _builder.get(".properties.managedVirtualNetworkRegions") + if managed_virtual_network_regions is not None: + managed_virtual_network_regions.set_elements(AAZStrType, ".") tags = _builder.get(".tags") if tags is not None: @@ -282,6 +325,9 @@ def _build_schema_on_200_201(cls): serialized_name="devBoxDefinitionName", flags={"required": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.health_status = AAZStrType( serialized_name="healthStatus", ) @@ -297,6 +343,9 @@ def _build_schema_on_200_201(cls): serialized_name="localAdministrator", flags={"required": True}, ) + properties.managed_virtual_network_regions = AAZListType( + serialized_name="managedVirtualNetworkRegions", + ) properties.network_connection_name = AAZStrType( serialized_name="networkConnectionName", flags={"required": True}, @@ -305,9 +354,15 @@ def _build_schema_on_200_201(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.single_sign_on_status = AAZStrType( + serialized_name="singleSignOnStatus", + ) properties.stop_on_disconnect = AAZObjectType( serialized_name="stopOnDisconnect", ) + properties.virtual_network_type = AAZStrType( + serialized_name="virtualNetworkType", + ) health_status_details = cls._schema_on_200_201.properties.health_status_details health_status_details.Element = AAZObjectType() @@ -320,6 +375,9 @@ def _build_schema_on_200_201(cls): flags={"read_only": True}, ) + managed_virtual_network_regions = cls._schema_on_200_201.properties.managed_virtual_network_regions + managed_virtual_network_regions.Element = AAZStrType() + stop_on_disconnect = cls._schema_on_200_201.properties.stop_on_disconnect stop_on_disconnect.grace_period_minutes = AAZIntType( serialized_name="gracePeriodMinutes", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_delete.py index c05f42e2f06..bd415b237ec 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -153,7 +163,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_list.py index 87b51225f80..cf1cdb0c446 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -196,6 +201,9 @@ def _build_schema_on_200(cls): serialized_name="devBoxDefinitionName", flags={"required": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.health_status = AAZStrType( serialized_name="healthStatus", ) @@ -211,6 +219,9 @@ def _build_schema_on_200(cls): serialized_name="localAdministrator", flags={"required": True}, ) + properties.managed_virtual_network_regions = AAZListType( + serialized_name="managedVirtualNetworkRegions", + ) properties.network_connection_name = AAZStrType( serialized_name="networkConnectionName", flags={"required": True}, @@ -219,9 +230,15 @@ def _build_schema_on_200(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.single_sign_on_status = AAZStrType( + serialized_name="singleSignOnStatus", + ) properties.stop_on_disconnect = AAZObjectType( serialized_name="stopOnDisconnect", ) + properties.virtual_network_type = AAZStrType( + serialized_name="virtualNetworkType", + ) health_status_details = cls._schema_on_200.value.Element.properties.health_status_details health_status_details.Element = AAZObjectType() @@ -234,6 +251,9 @@ def _build_schema_on_200(cls): flags={"read_only": True}, ) + managed_virtual_network_regions = cls._schema_on_200.value.Element.properties.managed_virtual_network_regions + managed_virtual_network_regions.Element = AAZStrType() + stop_on_disconnect = cls._schema_on_200.value.Element.properties.stop_on_disconnect stop_on_disconnect.grace_period_minutes = AAZIntType( serialized_name="gracePeriodMinutes", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_run_health_check.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_run_health_check.py index 748ae070253..f22494da1c9 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_run_health_check.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_run_health_check.py @@ -22,9 +22,9 @@ class RunHealthCheck(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/runhealthchecks", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/runhealthchecks", "2023-10-01-preview"], ] } @@ -50,12 +50,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -143,7 +153,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_show.py index e190584b91e..4c2a1394140 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -130,7 +140,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -193,6 +203,9 @@ def _build_schema_on_200(cls): serialized_name="devBoxDefinitionName", flags={"required": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.health_status = AAZStrType( serialized_name="healthStatus", ) @@ -208,6 +221,9 @@ def _build_schema_on_200(cls): serialized_name="localAdministrator", flags={"required": True}, ) + properties.managed_virtual_network_regions = AAZListType( + serialized_name="managedVirtualNetworkRegions", + ) properties.network_connection_name = AAZStrType( serialized_name="networkConnectionName", flags={"required": True}, @@ -216,9 +232,15 @@ def _build_schema_on_200(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.single_sign_on_status = AAZStrType( + serialized_name="singleSignOnStatus", + ) properties.stop_on_disconnect = AAZObjectType( serialized_name="stopOnDisconnect", ) + properties.virtual_network_type = AAZStrType( + serialized_name="virtualNetworkType", + ) health_status_details = cls._schema_on_200.properties.health_status_details health_status_details.Element = AAZObjectType() @@ -231,6 +253,9 @@ def _build_schema_on_200(cls): flags={"read_only": True}, ) + managed_virtual_network_regions = cls._schema_on_200.properties.managed_virtual_network_regions + managed_virtual_network_regions.Element = AAZStrType() + stop_on_disconnect = cls._schema_on_200.properties.stop_on_disconnect stop_on_disconnect.grace_period_minutes = AAZIntType( serialized_name="gracePeriodMinutes", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_update.py index de1ff07e10c..f06a1927192 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_update.py @@ -18,13 +18,13 @@ class Update(AAZCommand): """Update a pool. :example: Update - az devcenter admin pool update --devbox-definition-name "WebDevBox2" --pool-name "DevPool" --project-name "DevProject" --resource-group "rg1" + az devcenter admin pool update --devbox-definition-name "WebDevBox2" --pool-name "DevPool" --project-name "DevProject" --resource-group "rg1" --stop-on-disconnect status="Disabled" """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-10-01-preview"], ] } @@ -52,12 +52,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -86,17 +96,48 @@ def _build_arguments_schema(cls, *args, **kwargs): arg_group="Properties", help="Name of a dev box definition in parent project of this pool.", ) + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the pool.", + nullable=True, + ) _args_schema.local_administrator = AAZStrArg( options=["--local-administrator"], arg_group="Properties", help="Indicates whether owners of dev boxes in this pool are added as local administrators on the dev box.", enum={"Disabled": "Disabled", "Enabled": "Enabled"}, ) + _args_schema.managed_virtual_network_regions = AAZListArg( + options=["--managed-virtual-network-regions"], + arg_group="Properties", + help="The regions of the managed virtual network (required when managedNetworkType is Managed).", + nullable=True, + ) _args_schema.network_connection_name = AAZStrArg( options=["-c", "--network-connection-name"], arg_group="Properties", help="Name of a network connection in parent project of this pool.", ) + _args_schema.single_sign_on_status = AAZStrArg( + options=["--single-sign-on-status"], + arg_group="Properties", + help="Indicates whether Dev Boxes in this pool are created with single sign on enabled. The also requires that single sign on be enabled on the tenant.", + nullable=True, + enum={"Disabled": "Disabled", "Enabled": "Enabled"}, + ) + _args_schema.virtual_network_type = AAZStrArg( + options=["--virtual-network-type"], + arg_group="Properties", + help="Indicates whether the pool uses a Virtual Network managed by Microsoft or a customer provided network.", + nullable=True, + enum={"Managed": "Managed", "Unmanaged": "Unmanaged"}, + ) + + managed_virtual_network_regions = cls._args_schema.managed_virtual_network_regions + managed_virtual_network_regions.Element = AAZStrArg( + nullable=True, + ) return cls._args_schema def _execute_operations(self): @@ -181,7 +222,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -284,7 +325,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -348,8 +389,16 @@ def _update_instance(self, instance): properties = _builder.get(".properties") if properties is not None: properties.set_prop("devBoxDefinitionName", AAZStrType, ".devbox_definition_name", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("localAdministrator", AAZStrType, ".local_administrator", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("managedVirtualNetworkRegions", AAZListType, ".managed_virtual_network_regions") properties.set_prop("networkConnectionName", AAZStrType, ".network_connection_name", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("singleSignOnStatus", AAZStrType, ".single_sign_on_status") + properties.set_prop("virtualNetworkType", AAZStrType, ".virtual_network_type") + + managed_virtual_network_regions = _builder.get(".properties.managedVirtualNetworkRegions") + if managed_virtual_network_regions is not None: + managed_virtual_network_regions.set_elements(AAZStrType, ".") tags = _builder.get(".tags") if tags is not None: @@ -416,6 +465,9 @@ def _build_schema_pool_read(cls, _schema): serialized_name="devBoxDefinitionName", flags={"required": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.health_status = AAZStrType( serialized_name="healthStatus", ) @@ -431,6 +483,9 @@ def _build_schema_pool_read(cls, _schema): serialized_name="localAdministrator", flags={"required": True}, ) + properties.managed_virtual_network_regions = AAZListType( + serialized_name="managedVirtualNetworkRegions", + ) properties.network_connection_name = AAZStrType( serialized_name="networkConnectionName", flags={"required": True}, @@ -439,9 +494,15 @@ def _build_schema_pool_read(cls, _schema): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.single_sign_on_status = AAZStrType( + serialized_name="singleSignOnStatus", + ) properties.stop_on_disconnect = AAZObjectType( serialized_name="stopOnDisconnect", ) + properties.virtual_network_type = AAZStrType( + serialized_name="virtualNetworkType", + ) health_status_details = _schema_pool_read.properties.health_status_details health_status_details.Element = AAZObjectType() @@ -454,6 +515,9 @@ def _build_schema_pool_read(cls, _schema): flags={"read_only": True}, ) + managed_virtual_network_regions = _schema_pool_read.properties.managed_virtual_network_regions + managed_virtual_network_regions.Element = AAZStrType() + stop_on_disconnect = _schema_pool_read.properties.stop_on_disconnect stop_on_disconnect.grace_period_minutes = AAZIntType( serialized_name="gracePeriodMinutes", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_wait.py index 207506b3281..fc72bc3f043 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/pool/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}", "2023-10-01-preview"], ] } @@ -45,12 +45,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -126,7 +136,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -189,6 +199,9 @@ def _build_schema_on_200(cls): serialized_name="devBoxDefinitionName", flags={"required": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.health_status = AAZStrType( serialized_name="healthStatus", ) @@ -204,6 +217,9 @@ def _build_schema_on_200(cls): serialized_name="localAdministrator", flags={"required": True}, ) + properties.managed_virtual_network_regions = AAZListType( + serialized_name="managedVirtualNetworkRegions", + ) properties.network_connection_name = AAZStrType( serialized_name="networkConnectionName", flags={"required": True}, @@ -212,9 +228,15 @@ def _build_schema_on_200(cls): serialized_name="provisioningState", flags={"read_only": True}, ) + properties.single_sign_on_status = AAZStrType( + serialized_name="singleSignOnStatus", + ) properties.stop_on_disconnect = AAZObjectType( serialized_name="stopOnDisconnect", ) + properties.virtual_network_type = AAZStrType( + serialized_name="virtualNetworkType", + ) health_status_details = cls._schema_on_200.properties.health_status_details health_status_details.Element = AAZObjectType() @@ -227,6 +249,9 @@ def _build_schema_on_200(cls): flags={"read_only": True}, ) + managed_virtual_network_regions = cls._schema_on_200.properties.managed_virtual_network_regions + managed_virtual_network_regions.Element = AAZStrType() + stop_on_disconnect = cls._schema_on_200.properties.stop_on_disconnect stop_on_disconnect.grace_period_minutes = AAZIntType( serialized_name="gracePeriodMinutes", diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_create.py index d52d1d28bb2..d396670e64a 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_create.py @@ -22,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name"], help="The name of the project.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -87,6 +92,11 @@ def _build_arguments_schema(cls, *args, **kwargs): arg_group="Properties", help="Resource ID of an associated dev center.", ) + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the project.", + ) _args_schema.max_dev_boxes_per_user = AAZIntArg( options=["--max-dev-boxes-per-user"], arg_group="Properties", @@ -178,7 +188,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -211,6 +221,7 @@ def content(self): if properties is not None: properties.set_prop("description", AAZStrType, ".description") properties.set_prop("devCenterId", AAZStrType, ".dev_center_id") + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("maxDevBoxesPerUser", AAZIntType, ".max_dev_boxes_per_user") tags = _builder.get(".tags") @@ -267,6 +278,9 @@ def _build_schema_on_200_201(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.max_dev_boxes_per_user = AAZIntType( serialized_name="maxDevBoxesPerUser", ) diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_delete.py index 97c6215d4c1..d18d71bf1b0 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-10-01-preview"], ] } @@ -51,6 +51,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the project.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -143,7 +148,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_list.py index c22ad81ff17..c7d3a1c1ab0 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_list.py @@ -25,10 +25,10 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/projects", "2023-06-01-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/projects", "2023-10-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects", "2023-10-01-preview"], ] } @@ -119,7 +119,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -194,6 +194,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.max_dev_boxes_per_user = AAZIntType( serialized_name="maxDevBoxesPerUser", ) @@ -267,7 +270,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -342,6 +345,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.max_dev_boxes_per_user = AAZIntType( serialized_name="maxDevBoxesPerUser", ) diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_show.py index 0e0a9b3c3aa..f889e587977 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the project.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -120,7 +125,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -183,6 +188,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.max_dev_boxes_per_user = AAZIntType( serialized_name="maxDevBoxesPerUser", ) diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_update.py index e16df618792..59ae312ef16 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-10-01-preview"], ] } @@ -52,6 +52,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the project.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -81,6 +86,12 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Description of the project.", nullable=True, ) + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the project.", + nullable=True, + ) _args_schema.max_dev_boxes_per_user = AAZIntArg( options=["--max-dev-boxes-per-user"], arg_group="Properties", @@ -170,7 +181,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -269,7 +280,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -333,6 +344,7 @@ def _update_instance(self, instance): properties = _builder.get(".properties") if properties is not None: properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("maxDevBoxesPerUser", AAZIntType, ".max_dev_boxes_per_user") tags = _builder.get(".tags") @@ -400,6 +412,9 @@ def _build_schema_project_read(cls, _schema): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.max_dev_boxes_per_user = AAZIntType( serialized_name="maxDevBoxesPerUser", ) diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_wait.py index 6c7cb6547c8..14c322e87a9 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}", "2023-10-01-preview"], ] } @@ -45,6 +45,11 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the project.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -116,7 +121,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -179,6 +184,9 @@ def _build_schema_on_200(cls): serialized_name="devCenterUri", flags={"read_only": True}, ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) properties.max_dev_boxes_per_user = AAZIntType( serialized_name="maxDevBoxesPerUser", ) diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_list.py index fca78e60233..d2de135d794 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/allowedenvironmenttypes", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/allowedenvironmenttypes", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -184,6 +189,10 @@ def _build_schema_on_200(cls): ) properties = cls._schema_on_200.value.Element.properties + properties.display_name = AAZStrType( + serialized_name="displayName", + flags={"read_only": True}, + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_show.py index 316a8d5b1b2..f0941816483 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_allowed_environment_type/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/allowedenvironmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/allowedenvironmenttypes/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the environment type.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -130,7 +140,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -181,6 +191,10 @@ def _build_schema_on_200(cls): ) properties = cls._schema_on_200.properties + properties.display_name = AAZStrType( + serialized_name="displayName", + flags={"read_only": True}, + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_create.py index 878a9448e38..041dfb317fb 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_create.py @@ -22,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -48,11 +48,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["-n", "--name", "--environment-type-name"], help="The name of the environment type.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -120,6 +130,11 @@ def _build_arguments_schema(cls, *args, **kwargs): arg_group="Properties", help="ID of a subscription that the environment type will be mapped to. The environment's resources will be deployed into this subscription.", ) + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the project environment type.", + ) _args_schema.status = AAZStrArg( options=["--status"], arg_group="Properties", @@ -229,7 +244,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -272,6 +287,7 @@ def content(self): if properties is not None: properties.set_prop("creatorRoleAssignment", AAZObjectType) properties.set_prop("deploymentTargetId", AAZStrType, ".deployment_target_id") + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("status", AAZStrType, ".status") properties.set_prop("userRoleAssignments", AAZDictType, ".user_role_assignments") @@ -375,6 +391,13 @@ def _build_schema_on_200(cls): properties.deployment_target_id = AAZStrType( serialized_name="deploymentTargetId", ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) + properties.environment_count = AAZIntType( + serialized_name="environmentCount", + flags={"read_only": True}, + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_delete.py index 9113d5ae40f..7d36142732a 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -50,12 +50,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the environment type.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -129,7 +139,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_list.py index e69fb83c3f2..0c169293c02 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes", "2023-10-01-preview"], ] } @@ -49,6 +49,11 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -121,7 +126,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -222,6 +227,13 @@ def _build_schema_on_200(cls): properties.deployment_target_id = AAZStrType( serialized_name="deploymentTargetId", ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) + properties.environment_count = AAZIntType( + serialized_name="environmentCount", + flags={"read_only": True}, + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_show.py index 02e3f404635..f7264dd0092 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the environment type.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -130,7 +140,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -219,6 +229,13 @@ def _build_schema_on_200(cls): properties.deployment_target_id = AAZStrType( serialized_name="deploymentTargetId", ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) + properties.environment_count = AAZIntType( + serialized_name="environmentCount", + flags={"read_only": True}, + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_update.py index aa90c057ea3..b09871cb8cc 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/project_environment_type/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/environmenttypes/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="The name of the environment type.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -125,6 +135,12 @@ def _build_arguments_schema(cls, *args, **kwargs): help="ID of a subscription that the environment type will be mapped to. The environment's resources will be deployed into this subscription.", nullable=True, ) + _args_schema.display_name = AAZStrArg( + options=["--display-name"], + arg_group="Properties", + help="The display name of the project environment type.", + nullable=True, + ) _args_schema.status = AAZStrArg( options=["--status"], arg_group="Properties", @@ -254,7 +270,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -341,7 +357,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -416,6 +432,7 @@ def _update_instance(self, instance): if properties is not None: properties.set_prop("creatorRoleAssignment", AAZObjectType) properties.set_prop("deploymentTargetId", AAZStrType, ".deployment_target_id") + properties.set_prop("displayName", AAZStrType, ".display_name") properties.set_prop("status", AAZStrType, ".status") properties.set_prop("userRoleAssignments", AAZDictType, ".user_role_assignments") @@ -559,6 +576,13 @@ def _build_schema_project_environment_type_read(cls, _schema): properties.deployment_target_id = AAZStrType( serialized_name="deploymentTargetId", ) + properties.display_name = AAZStrType( + serialized_name="displayName", + ) + properties.environment_count = AAZIntType( + serialized_name="environmentCount", + flags={"read_only": True}, + ) properties.provisioning_state = AAZStrType( serialized_name="provisioningState", flags={"read_only": True}, diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_create.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_create.py index 4a782c11ab6..9681c5b7129 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_create.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_create.py @@ -22,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-10-01-preview"], ] } @@ -49,11 +49,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["--pool-name"], help="Name of the pool.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -194,7 +204,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_delete.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_delete.py index c6ffb49ef4a..e8da07f80d3 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_delete.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-10-01-preview"], ] } @@ -51,12 +51,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -169,7 +179,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_list.py index 469ee9b3ae2..031eb4dcaec 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_list.py @@ -11,6 +11,9 @@ from azure.cli.core.aaz import * +@register_command( + "devcenter admin schedule list", +) class List(AAZCommand): """List schedules for a pool. @@ -19,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules", "2023-10-01-preview"], ] } @@ -46,11 +49,21 @@ def _build_arguments_schema(cls, *args, **kwargs): options=["--pool-name"], help="Name of the pool.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -127,7 +140,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_show.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_show.py index f84e8cbddb0..cf2fe15dcb1 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_show.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-10-01-preview"], ] } @@ -49,12 +49,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -146,7 +156,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_update.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_update.py index 7325b2c2fff..616646cc2dd 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_update.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-10-01-preview"], ] } @@ -52,12 +52,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -183,7 +193,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -290,7 +300,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_wait.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_wait.py index d52cc6be63f..74242b1f629 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_wait.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/schedule/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/pools/{}/schedules/{}", "2023-10-01-preview"], ] } @@ -45,12 +45,22 @@ def _build_arguments_schema(cls, *args, **kwargs): help="Name of the pool.", required=True, id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.project_name = AAZStrArg( options=["--project", "--project-name"], help="The name of the project. Use `az configure -d project=` to configure a default.", required=True, id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + max_length=63, + min_length=3, + ), ) _args_schema.resource_group = AAZResourceGroupNameArg( required=True, @@ -142,7 +152,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/sku/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/sku/_list.py index 4f6c2d9c262..bbbd5c5cad8 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/sku/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/sku/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/skus", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/skus", "2023-10-01-preview"], ] } @@ -103,7 +103,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } diff --git a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/usage/_list.py b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/usage/_list.py index 9fe4f30c976..b4074aa5e2e 100644 --- a/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/usage/_list.py +++ b/src/devcenter/azext_devcenter/aaz/latest/devcenter/admin/usage/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2023-06-01-preview", + "version": "2023-10-01-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/locations/{}/usages", "2023-06-01-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.devcenter/locations/{}/usages", "2023-10-01-preview"], ] } @@ -112,7 +112,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2023-06-01-preview", + "api-version", "2023-10-01-preview", required=True, ), } @@ -160,6 +160,7 @@ def _build_schema_on_200(cls): _element.current_value = AAZIntType( serialized_name="currentValue", ) + _element.id = AAZStrType() _element.limit = AAZIntType() _element.name = AAZObjectType() _element.unit = AAZStrType()