Skip to content

Commit

Permalink
Merge pull request #101 from tbyfield/amlim/updateControlPlanev2023-0…
Browse files Browse the repository at this point in the history
…6-01-preview

Update control plane to v2023-06-01 preview
  • Loading branch information
am-lim authored Aug 23, 2023
2 parents bf05c00 + 3f03a68 commit 242dbff
Show file tree
Hide file tree
Showing 85 changed files with 1,734 additions and 480 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Create(AAZCommand):
"""

_aaz_info = {
"version": "2023-04-01",
"version": "2023-06-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-04-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-06-01-preview"],
]
}

Expand Down Expand Up @@ -56,7 +56,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
required=True,
)
_args_schema.resource_group = AAZResourceGroupNameArg(
help="Name of resource group. You can configure the default group using `az configure --defaults group=<name>`.",
required=True,
)

Expand Down Expand Up @@ -155,7 +154,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-04-01",
"api-version", "2023-06-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class Delete(AAZCommand):
"""

_aaz_info = {
"version": "2023-04-01",
"version": "2023-06-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-04-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-06-01-preview"],
]
}

Expand Down Expand Up @@ -59,7 +59,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
id_part="name",
)
_args_schema.resource_group = AAZResourceGroupNameArg(
help="Name of resource group. You can configure the default group using `az configure --defaults group=<name>`.",
required=True,
)
return cls._args_schema
Expand Down Expand Up @@ -154,7 +153,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-04-01",
"api-version", "2023-06-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,15 @@ class List(AAZCommand):
"""

_aaz_info = {
"version": "2023-04-01",
"version": "2023-06-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks", "2023-04-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/attachednetworks", "2023-04-01"],
["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"],
]
}

AZ_SUPPORT_PAGINATION = True

def _handler(self, command_args):
super()._handler(command_args)
return self.build_paging(self._execute_operations, self._output)
Expand All @@ -56,19 +58,18 @@ def _build_arguments_schema(cls, *args, **kwargs):
help="The name of the project. Use `az configure -d project=<project_name>` to configure a default.",
)
_args_schema.resource_group = AAZResourceGroupNameArg(
help="Name of resource group. You can configure the default group using `az configure --defaults group=<name>`.",
required=True,
)
return cls._args_schema

def _execute_operations(self):
self.pre_operations()
condition_0 = has_value(self.ctx.args.dev_center_name) and has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id)
condition_1 = has_value(self.ctx.args.project_name) and has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id)
condition_0 = has_value(self.ctx.args.project_name) and has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id)
condition_1 = has_value(self.ctx.args.dev_center_name) and has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id)
if condition_0:
self.AttachedNetworksListByDevCenter(ctx=self.ctx)()
elif condition_1:
self.AttachedNetworksListByProject(ctx=self.ctx)()
if condition_1:
self.AttachedNetworksListByDevCenter(ctx=self.ctx)()
self.post_operations()

@register_callback
Expand All @@ -84,7 +85,7 @@ def _output(self, *args, **kwargs):
next_link = self.deserialize_output(self.ctx.vars.instance.next_link)
return result, next_link

class AttachedNetworksListByDevCenter(AAZHttpOperation):
class AttachedNetworksListByProject(AAZHttpOperation):
CLIENT_TYPE = "MgmtClient"

def __call__(self, *args, **kwargs):
Expand All @@ -98,7 +99,7 @@ def __call__(self, *args, **kwargs):
@property
def url(self):
return self.client.format_url(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/attachednetworks",
**self.url_parameters
)

Expand All @@ -114,7 +115,7 @@ def error_format(self):
def url_parameters(self):
parameters = {
**self.serialize_url_param(
"devCenterName", self.ctx.args.dev_center_name,
"projectName", self.ctx.args.project_name,
required=True,
),
**self.serialize_url_param(
Expand All @@ -132,7 +133,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-04-01",
"api-version", "2023-06-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -236,7 +237,7 @@ def _build_schema_on_200(cls):

return cls._schema_on_200

class AttachedNetworksListByProject(AAZHttpOperation):
class AttachedNetworksListByDevCenter(AAZHttpOperation):
CLIENT_TYPE = "MgmtClient"

def __call__(self, *args, **kwargs):
Expand All @@ -250,7 +251,7 @@ def __call__(self, *args, **kwargs):
@property
def url(self):
return self.client.format_url(
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/attachednetworks",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks",
**self.url_parameters
)

Expand All @@ -266,7 +267,7 @@ def error_format(self):
def url_parameters(self):
parameters = {
**self.serialize_url_param(
"projectName", self.ctx.args.project_name,
"devCenterName", self.ctx.args.dev_center_name,
required=True,
),
**self.serialize_url_param(
Expand All @@ -284,7 +285,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-04-01",
"api-version", "2023-06-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@
class Show(AAZCommand):
"""Get an attached network connection configured for a dev center or project.
:example: Get dev center attached network connection
az devcenter admin attached-network show --name "{attachedNetworkConnectionName}" --dev-center-name "Contoso" --resource-group "rg1"
:example: Get a dev center attached network connection
az devcenter admin attached-network show --name" network-uswest3" --dev-center-name "Contoso" --resource-group "rg1"
:example: Get project attached network connection
az devcenter admin attached-network show --name "{attachedNetworkConnectionName}" --project-name "{projectName}" --resource-group "rg1"
:example: Get a project attached network connection
az devcenter admin attached-network show --name "network-uswest3" --project-name "ContosoProject" --resource-group "rg1"
"""

_aaz_info = {
"version": "2023-04-01",
"version": "2023-06-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-04-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/projects/{}/attachednetworks/{}", "2023-04-01"],
["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"],
]
}

Expand Down Expand Up @@ -144,7 +144,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-04-01",
"api-version", "2023-06-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -288,7 +288,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-04-01",
"api-version", "2023-06-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand):

_aaz_info = {
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-04-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/attachednetworks/{}", "2023-06-01-preview"],
]
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
# flake8: noqa

from .__cmd_group import *
from ._connect import *
from ._create import *
from ._delete import *
from ._list import *
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# --------------------------------------------------------------------------------------------
# Copyright (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-06-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.devcenter/devcenters/{}/catalogs/{}/connect", "2023-06-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",
)
_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",
)
_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-06-01-preview",
required=True,
),
}
return parameters


class _ConnectHelper:
"""Helper class for Connect"""


__all__ = ["Connect"]
Loading

0 comments on commit 242dbff

Please sign in to comment.