Skip to content

Commit e0b94c5

Browse files
german1608German Robayo Paz
andauthored
appnet: add --east-west-gateway and --private-connect-subnet arguments to appnet member join and appnet member update (#9673)
* appnet: update aaz specification prior public preview * update version * update snapshots * fix recordings * fix linter * fix recordings * fix history.rst --------- Co-authored-by: German Robayo Paz <gerobayopaz@microsoft.com>
1 parent 7e4f353 commit e0b94c5

15 files changed

Lines changed: 3273 additions & 992 deletions

src/appnet-preview/HISTORY.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Release History
44
===============
55

6+
1.0.0b2
7+
++++++
8+
* Add `--east-west-gateway` to `az appnet member join` and `az appnet member update`
9+
* Add `--private-connect-subnet` to `az appnet member join`.
10+
611
1.0.0b1
712
++++++
813
* Initial release.

src/appnet-preview/azext_appnet_preview/aaz/latest/appnet/_create.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
9292

9393
def _execute_operations(self):
9494
self.pre_operations()
95-
yield self.AppLinksCreateOrReplace(ctx=self.ctx)()
95+
yield self.AppLinksCreateOrUpdate(ctx=self.ctx)()
9696
self.post_operations()
9797

9898
@register_callback
@@ -107,7 +107,7 @@ def _output(self, *args, **kwargs):
107107
result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True)
108108
return result
109109

110-
class AppLinksCreateOrReplace(AAZHttpOperation):
110+
class AppLinksCreateOrUpdate(AAZHttpOperation):
111111
CLIENT_TYPE = "MgmtClient"
112112

113113
def __call__(self, *args, **kwargs):

src/appnet-preview/azext_appnet_preview/aaz/latest/appnet/member/_join.py

Lines changed: 94 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -71,21 +71,26 @@ def _build_arguments_schema(cls, *args, **kwargs):
7171
required=True,
7272
)
7373

74-
# define Arg Group "FullyManagedUpgradeProfile"
74+
# define Arg Group "Connectivity"
7575

7676
_args_schema = cls._args_schema
77-
_args_schema.release_channel = AAZStrArg(
78-
options=["--release-channel"],
79-
arg_group="FullyManagedUpgradeProfile",
80-
help="Release channel",
81-
enum={"Rapid": "Rapid", "Stable": "Stable"},
82-
enum_support_extension=True,
77+
_args_schema.east_west_gateway = AAZStrArg(
78+
options=["--east-west-gateway"],
79+
arg_group="Connectivity",
80+
help="East-West gateway visibility.",
81+
default="Internal",
82+
enum={"External": "External", "Internal": "Internal"},
83+
)
84+
_args_schema.private_connect_subnet = AAZResourceIdArg(
85+
options=["--private-connect-subnet"],
86+
arg_group="Connectivity",
87+
help="Delegated Subnet to AppLink.",
8388
)
8489

8590
# define Arg Group "Metadata"
8691

8792
_args_schema = cls._args_schema
88-
_args_schema.member_resource_id = AAZStrArg(
93+
_args_schema.member_resource_id = AAZResourceIdArg(
8994
options=["--member-resource-id"],
9095
arg_group="Metadata",
9196
help="Managed cluster Resource ID",
@@ -101,13 +106,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
101106
default="AKS",
102107
enum={"AKS": "AKS"},
103108
)
104-
_args_schema.upgrade_mode = AAZStrArg(
105-
options=["--upgrade-mode"],
106-
arg_group="Properties",
107-
help="Upgrade mode",
108-
default="SelfManaged",
109-
enum={"FullyManaged": "FullyManaged", "SelfManaged": "SelfManaged"},
110-
)
111109

112110
# define Arg Group "Resource"
113111

@@ -130,19 +128,32 @@ def _build_arguments_schema(cls, *args, **kwargs):
130128
tags = cls._args_schema.tags
131129
tags.Element = AAZStrArg()
132130

133-
# define Arg Group "SelfManagedUpgradeProfile"
131+
# define Arg Group "Upgrade"
134132

135133
_args_schema = cls._args_schema
134+
_args_schema.release_channel = AAZStrArg(
135+
options=["--release-channel"],
136+
arg_group="Upgrade",
137+
help="Release channel",
138+
enum={"Rapid": "Rapid", "Stable": "Stable"},
139+
)
140+
_args_schema.upgrade_mode = AAZStrArg(
141+
options=["--upgrade-mode"],
142+
arg_group="Upgrade",
143+
help="Upgrade mode.",
144+
default="SelfManaged",
145+
enum={"FullyManaged": "FullyManaged", "SelfManaged": "SelfManaged"},
146+
)
136147
_args_schema.version = AAZStrArg(
137148
options=["--version"],
138-
arg_group="SelfManagedUpgradeProfile",
139-
help="Application Network version",
149+
arg_group="Upgrade",
150+
help="Istio version",
140151
)
141152
return cls._args_schema
142153

143154
def _execute_operations(self):
144155
self.pre_operations()
145-
yield self.AppLinkMembersCreateOrReplace(ctx=self.ctx)()
156+
yield self.AppLinkMembersCreateOrUpdate(ctx=self.ctx)()
146157
self.post_operations()
147158

148159
@register_callback
@@ -157,7 +168,7 @@ def _output(self, *args, **kwargs):
157168
result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True)
158169
return result
159170

160-
class AppLinkMembersCreateOrReplace(AAZHttpOperation):
171+
class AppLinkMembersCreateOrUpdate(AAZHttpOperation):
161172
CLIENT_TYPE = "MgmtClient"
162173

163174
def __call__(self, *args, **kwargs):
@@ -257,20 +268,38 @@ def content(self):
257268
properties = _builder.get(".properties")
258269
if properties is not None:
259270
properties.set_prop("clusterType", AAZStrType, ".cluster_type")
260-
properties.set_prop("fullyManagedUpgradeProfile", AAZObjectType)
271+
properties.set_prop("connectivityProfile", AAZObjectType)
261272
properties.set_prop("metadata", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
262-
properties.set_prop("mode", AAZStrType, ".upgrade_mode")
263-
properties.set_prop("selfManagedUpgradeProfile", AAZObjectType)
273+
properties.set_prop("upgradeProfile", AAZObjectType)
264274

265-
fully_managed_upgrade_profile = _builder.get(".properties.fullyManagedUpgradeProfile")
266-
if fully_managed_upgrade_profile is not None:
267-
fully_managed_upgrade_profile.set_prop("releaseChannel", AAZStrType, ".release_channel", typ_kwargs={"flags": {"required": True}})
275+
connectivity_profile = _builder.get(".properties.connectivityProfile")
276+
if connectivity_profile is not None:
277+
connectivity_profile.set_prop("eastWestGateway", AAZObjectType)
278+
connectivity_profile.set_prop("privateConnect", AAZObjectType)
279+
280+
east_west_gateway = _builder.get(".properties.connectivityProfile.eastWestGateway")
281+
if east_west_gateway is not None:
282+
east_west_gateway.set_prop("visibility", AAZStrType, ".east_west_gateway", typ_kwargs={"flags": {"required": True}})
283+
284+
private_connect = _builder.get(".properties.connectivityProfile.privateConnect")
285+
if private_connect is not None:
286+
private_connect.set_prop("subnetResourceId", AAZStrType, ".private_connect_subnet", typ_kwargs={"flags": {"required": True}})
268287

269288
metadata = _builder.get(".properties.metadata")
270289
if metadata is not None:
271290
metadata.set_prop("resourceId", AAZStrType, ".member_resource_id", typ_kwargs={"flags": {"required": True}})
272291

273-
self_managed_upgrade_profile = _builder.get(".properties.selfManagedUpgradeProfile")
292+
upgrade_profile = _builder.get(".properties.upgradeProfile")
293+
if upgrade_profile is not None:
294+
upgrade_profile.set_prop("fullyManagedUpgradeProfile", AAZObjectType)
295+
upgrade_profile.set_prop("mode", AAZStrType, ".upgrade_mode", typ_kwargs={"flags": {"required": True}})
296+
upgrade_profile.set_prop("selfManagedUpgradeProfile", AAZObjectType)
297+
298+
fully_managed_upgrade_profile = _builder.get(".properties.upgradeProfile.fullyManagedUpgradeProfile")
299+
if fully_managed_upgrade_profile is not None:
300+
fully_managed_upgrade_profile.set_prop("releaseChannel", AAZStrType, ".release_channel", typ_kwargs={"flags": {"required": True}})
301+
302+
self_managed_upgrade_profile = _builder.get(".properties.upgradeProfile.selfManagedUpgradeProfile")
274303
if self_managed_upgrade_profile is not None:
275304
self_managed_upgrade_profile.set_prop("version", AAZStrType, ".version", typ_kwargs={"flags": {"required": True}})
276305

@@ -321,27 +350,39 @@ def _build_schema_on_200_201(cls):
321350
properties.cluster_type = AAZStrType(
322351
serialized_name="clusterType",
323352
)
324-
properties.fully_managed_upgrade_profile = AAZObjectType(
325-
serialized_name="fullyManagedUpgradeProfile",
353+
properties.connectivity_profile = AAZObjectType(
354+
serialized_name="connectivityProfile",
326355
)
327356
properties.metadata = AAZObjectType(
328357
flags={"required": True},
329358
)
330-
properties.mode = AAZStrType()
331359
properties.observability_profile = AAZObjectType(
332360
serialized_name="observabilityProfile",
333361
)
334362
properties.provisioning_state = AAZStrType(
335363
serialized_name="provisioningState",
336364
flags={"read_only": True},
337365
)
338-
properties.self_managed_upgrade_profile = AAZObjectType(
339-
serialized_name="selfManagedUpgradeProfile",
366+
properties.upgrade_profile = AAZObjectType(
367+
serialized_name="upgradeProfile",
340368
)
341369

342-
fully_managed_upgrade_profile = cls._schema_on_200_201.properties.fully_managed_upgrade_profile
343-
fully_managed_upgrade_profile.release_channel = AAZStrType(
344-
serialized_name="releaseChannel",
370+
connectivity_profile = cls._schema_on_200_201.properties.connectivity_profile
371+
connectivity_profile.east_west_gateway = AAZObjectType(
372+
serialized_name="eastWestGateway",
373+
)
374+
connectivity_profile.private_connect = AAZObjectType(
375+
serialized_name="privateConnect",
376+
)
377+
378+
east_west_gateway = cls._schema_on_200_201.properties.connectivity_profile.east_west_gateway
379+
east_west_gateway.visibility = AAZStrType(
380+
flags={"required": True},
381+
)
382+
383+
private_connect = cls._schema_on_200_201.properties.connectivity_profile.private_connect
384+
private_connect.subnet_resource_id = AAZStrType(
385+
serialized_name="subnetResourceId",
345386
flags={"required": True},
346387
)
347388

@@ -360,7 +401,24 @@ def _build_schema_on_200_201(cls):
360401
flags={"read_only": True},
361402
)
362403

363-
self_managed_upgrade_profile = cls._schema_on_200_201.properties.self_managed_upgrade_profile
404+
upgrade_profile = cls._schema_on_200_201.properties.upgrade_profile
405+
upgrade_profile.fully_managed_upgrade_profile = AAZObjectType(
406+
serialized_name="fullyManagedUpgradeProfile",
407+
)
408+
upgrade_profile.mode = AAZStrType(
409+
flags={"required": True},
410+
)
411+
upgrade_profile.self_managed_upgrade_profile = AAZObjectType(
412+
serialized_name="selfManagedUpgradeProfile",
413+
)
414+
415+
fully_managed_upgrade_profile = cls._schema_on_200_201.properties.upgrade_profile.fully_managed_upgrade_profile
416+
fully_managed_upgrade_profile.release_channel = AAZStrType(
417+
serialized_name="releaseChannel",
418+
flags={"required": True},
419+
)
420+
421+
self_managed_upgrade_profile = cls._schema_on_200_201.properties.upgrade_profile.self_managed_upgrade_profile
364422
self_managed_upgrade_profile.version = AAZStrType(
365423
flags={"required": True},
366424
)

src/appnet-preview/azext_appnet_preview/aaz/latest/appnet/member/_list.py

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,27 +192,39 @@ def _build_schema_on_200(cls):
192192
properties.cluster_type = AAZStrType(
193193
serialized_name="clusterType",
194194
)
195-
properties.fully_managed_upgrade_profile = AAZObjectType(
196-
serialized_name="fullyManagedUpgradeProfile",
195+
properties.connectivity_profile = AAZObjectType(
196+
serialized_name="connectivityProfile",
197197
)
198198
properties.metadata = AAZObjectType(
199199
flags={"required": True},
200200
)
201-
properties.mode = AAZStrType()
202201
properties.observability_profile = AAZObjectType(
203202
serialized_name="observabilityProfile",
204203
)
205204
properties.provisioning_state = AAZStrType(
206205
serialized_name="provisioningState",
207206
flags={"read_only": True},
208207
)
209-
properties.self_managed_upgrade_profile = AAZObjectType(
210-
serialized_name="selfManagedUpgradeProfile",
208+
properties.upgrade_profile = AAZObjectType(
209+
serialized_name="upgradeProfile",
211210
)
212211

213-
fully_managed_upgrade_profile = cls._schema_on_200.value.Element.properties.fully_managed_upgrade_profile
214-
fully_managed_upgrade_profile.release_channel = AAZStrType(
215-
serialized_name="releaseChannel",
212+
connectivity_profile = cls._schema_on_200.value.Element.properties.connectivity_profile
213+
connectivity_profile.east_west_gateway = AAZObjectType(
214+
serialized_name="eastWestGateway",
215+
)
216+
connectivity_profile.private_connect = AAZObjectType(
217+
serialized_name="privateConnect",
218+
)
219+
220+
east_west_gateway = cls._schema_on_200.value.Element.properties.connectivity_profile.east_west_gateway
221+
east_west_gateway.visibility = AAZStrType(
222+
flags={"required": True},
223+
)
224+
225+
private_connect = cls._schema_on_200.value.Element.properties.connectivity_profile.private_connect
226+
private_connect.subnet_resource_id = AAZStrType(
227+
serialized_name="subnetResourceId",
216228
flags={"required": True},
217229
)
218230

@@ -231,7 +243,24 @@ def _build_schema_on_200(cls):
231243
flags={"read_only": True},
232244
)
233245

234-
self_managed_upgrade_profile = cls._schema_on_200.value.Element.properties.self_managed_upgrade_profile
246+
upgrade_profile = cls._schema_on_200.value.Element.properties.upgrade_profile
247+
upgrade_profile.fully_managed_upgrade_profile = AAZObjectType(
248+
serialized_name="fullyManagedUpgradeProfile",
249+
)
250+
upgrade_profile.mode = AAZStrType(
251+
flags={"required": True},
252+
)
253+
upgrade_profile.self_managed_upgrade_profile = AAZObjectType(
254+
serialized_name="selfManagedUpgradeProfile",
255+
)
256+
257+
fully_managed_upgrade_profile = cls._schema_on_200.value.Element.properties.upgrade_profile.fully_managed_upgrade_profile
258+
fully_managed_upgrade_profile.release_channel = AAZStrType(
259+
serialized_name="releaseChannel",
260+
flags={"required": True},
261+
)
262+
263+
self_managed_upgrade_profile = cls._schema_on_200.value.Element.properties.upgrade_profile.self_managed_upgrade_profile
235264
self_managed_upgrade_profile.version = AAZStrType(
236265
flags={"required": True},
237266
)

src/appnet-preview/azext_appnet_preview/aaz/latest/appnet/member/_show.py

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -193,27 +193,39 @@ def _build_schema_on_200(cls):
193193
properties.cluster_type = AAZStrType(
194194
serialized_name="clusterType",
195195
)
196-
properties.fully_managed_upgrade_profile = AAZObjectType(
197-
serialized_name="fullyManagedUpgradeProfile",
196+
properties.connectivity_profile = AAZObjectType(
197+
serialized_name="connectivityProfile",
198198
)
199199
properties.metadata = AAZObjectType(
200200
flags={"required": True},
201201
)
202-
properties.mode = AAZStrType()
203202
properties.observability_profile = AAZObjectType(
204203
serialized_name="observabilityProfile",
205204
)
206205
properties.provisioning_state = AAZStrType(
207206
serialized_name="provisioningState",
208207
flags={"read_only": True},
209208
)
210-
properties.self_managed_upgrade_profile = AAZObjectType(
211-
serialized_name="selfManagedUpgradeProfile",
209+
properties.upgrade_profile = AAZObjectType(
210+
serialized_name="upgradeProfile",
212211
)
213212

214-
fully_managed_upgrade_profile = cls._schema_on_200.properties.fully_managed_upgrade_profile
215-
fully_managed_upgrade_profile.release_channel = AAZStrType(
216-
serialized_name="releaseChannel",
213+
connectivity_profile = cls._schema_on_200.properties.connectivity_profile
214+
connectivity_profile.east_west_gateway = AAZObjectType(
215+
serialized_name="eastWestGateway",
216+
)
217+
connectivity_profile.private_connect = AAZObjectType(
218+
serialized_name="privateConnect",
219+
)
220+
221+
east_west_gateway = cls._schema_on_200.properties.connectivity_profile.east_west_gateway
222+
east_west_gateway.visibility = AAZStrType(
223+
flags={"required": True},
224+
)
225+
226+
private_connect = cls._schema_on_200.properties.connectivity_profile.private_connect
227+
private_connect.subnet_resource_id = AAZStrType(
228+
serialized_name="subnetResourceId",
217229
flags={"required": True},
218230
)
219231

@@ -232,7 +244,24 @@ def _build_schema_on_200(cls):
232244
flags={"read_only": True},
233245
)
234246

235-
self_managed_upgrade_profile = cls._schema_on_200.properties.self_managed_upgrade_profile
247+
upgrade_profile = cls._schema_on_200.properties.upgrade_profile
248+
upgrade_profile.fully_managed_upgrade_profile = AAZObjectType(
249+
serialized_name="fullyManagedUpgradeProfile",
250+
)
251+
upgrade_profile.mode = AAZStrType(
252+
flags={"required": True},
253+
)
254+
upgrade_profile.self_managed_upgrade_profile = AAZObjectType(
255+
serialized_name="selfManagedUpgradeProfile",
256+
)
257+
258+
fully_managed_upgrade_profile = cls._schema_on_200.properties.upgrade_profile.fully_managed_upgrade_profile
259+
fully_managed_upgrade_profile.release_channel = AAZStrType(
260+
serialized_name="releaseChannel",
261+
flags={"required": True},
262+
)
263+
264+
self_managed_upgrade_profile = cls._schema_on_200.properties.upgrade_profile.self_managed_upgrade_profile
236265
self_managed_upgrade_profile.version = AAZStrType(
237266
flags={"required": True},
238267
)

0 commit comments

Comments
 (0)