Skip to content

Commit 8afd612

Browse files
committed
Update Traffic Manager CLI commands to 2024-04-01-preview API
1 parent 65f5c5c commit 8afd612

32 files changed

Lines changed: 1857 additions & 103 deletions

src/azure-cli/azure/cli/command_modules/network/_params.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,6 +641,7 @@ def load_arguments(self, _):
641641
c.argument('unique_dns_name', help="Relative DNS name for the traffic manager profile. Resulting FQDN will be `<unique-dns-name>.trafficmanager.net` and must be globally unique.")
642642
c.argument('max_return', help="Maximum number of endpoints to be returned for MultiValue routing type.", type=int)
643643
c.argument('ttl', help='DNS config time-to-live in seconds.', type=int)
644+
c.argument('record_type', help='When record type is set, a traffic manager profile will allow only endpoints that match this type.', arg_type=get_enum_type(['A', 'AAAA', 'CNAME']))
644645

645646
with self.argument_context('network traffic-manager profile', arg_group='Monitor Configuration') as c:
646647
c.argument('monitor_path', help='Path to monitor. Use ""(\'""\' in PowerShell) for none.', options_list=['--path', c.deprecate(target='--monitor-path', redirect='--path', hide=True)])

src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/traffic_manager/endpoint/_create.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ class Create(AAZCommand):
2525
"""
2626

2727
_aaz_info = {
28-
"version": "2022-04-01",
28+
"version": "2024-04-01-preview",
2929
"resources": [
30-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2022-04-01"],
30+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2024-04-01-preview"],
3131
]
3232
}
3333

@@ -252,7 +252,7 @@ def url_parameters(self):
252252
def query_parameters(self):
253253
parameters = {
254254
**self.serialize_query_param(
255-
"api-version", "2022-04-01",
255+
"api-version", "2024-04-01-preview",
256256
required=True,
257257
),
258258
}

src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/traffic_manager/endpoint/_delete.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ class Delete(AAZCommand):
2525
"""
2626

2727
_aaz_info = {
28-
"version": "2022-04-01",
28+
"version": "2024-04-01-preview",
2929
"resources": [
30-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2022-04-01"],
30+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2024-04-01-preview"],
3131
]
3232
}
3333

3434
def _handler(self, command_args):
3535
super()._handler(command_args)
3636
self._execute_operations()
37-
return self._output()
37+
return None
3838

3939
_args_schema = None
4040

@@ -84,10 +84,6 @@ def pre_operations(self):
8484
def post_operations(self):
8585
pass
8686

87-
def _output(self, *args, **kwargs):
88-
result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True)
89-
return result
90-
9187
class EndpointsDelete(AAZHttpOperation):
9288
CLIENT_TYPE = "MgmtClient"
9389

@@ -146,7 +142,7 @@ def url_parameters(self):
146142
def query_parameters(self):
147143
parameters = {
148144
**self.serialize_query_param(
149-
"api-version", "2022-04-01",
145+
"api-version", "2024-04-01-preview",
150146
required=True,
151147
),
152148
}

src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/traffic_manager/endpoint/_show.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class Show(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2022-04-01",
25+
"version": "2024-04-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2022-04-01"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2024-04-01-preview"],
2828
]
2929
}
3030

@@ -141,7 +141,7 @@ def url_parameters(self):
141141
def query_parameters(self):
142142
parameters = {
143143
**self.serialize_query_param(
144-
"api-version", "2022-04-01",
144+
"api-version", "2024-04-01-preview",
145145
required=True,
146146
),
147147
}

src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/traffic_manager/endpoint/_show_geographic_hierarchy.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class ShowGeographicHierarchy(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2022-04-01",
25+
"version": "2024-04-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/providers/microsoft.network/trafficmanagergeographichierarchies/default", "2022-04-01"],
27+
["mgmt-plane", "/providers/microsoft.network/trafficmanagergeographichierarchies/default", "2024-04-01-preview"],
2828
]
2929
}
3030

@@ -80,7 +80,7 @@ def error_format(self):
8080
def query_parameters(self):
8181
parameters = {
8282
**self.serialize_query_param(
83-
"api-version", "2022-04-01",
83+
"api-version", "2024-04-01-preview",
8484
required=True,
8585
),
8686
}

src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/traffic_manager/endpoint/_update.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ class Update(AAZCommand):
3232
"""
3333

3434
_aaz_info = {
35-
"version": "2022-04-01",
35+
"version": "2024-04-01-preview",
3636
"resources": [
37-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2022-04-01"],
37+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}/{}/{}", "2024-04-01-preview"],
3838
]
3939
}
4040

@@ -302,7 +302,7 @@ def url_parameters(self):
302302
def query_parameters(self):
303303
parameters = {
304304
**self.serialize_query_param(
305-
"api-version", "2022-04-01",
305+
"api-version", "2024-04-01-preview",
306306
required=True,
307307
),
308308
}
@@ -393,7 +393,7 @@ def url_parameters(self):
393393
def query_parameters(self):
394394
parameters = {
395395
**self.serialize_query_param(
396-
"api-version", "2022-04-01",
396+
"api-version", "2024-04-01-preview",
397397
required=True,
398398
),
399399
}

src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/traffic_manager/profile/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
from .__cmd_group import *
1212
from ._check_dns import *
13+
from ._check_dns_v2 import *
1314
from ._create import *
1415
from ._delete import *
1516
from ._list import *

src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/traffic_manager/profile/_check_dns.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class CheckDns(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2022-04-01",
25+
"version": "2024-04-01-preview",
2626
"resources": [
27-
["mgmt-plane", "/providers/microsoft.network/checktrafficmanagernameavailability", "2022-04-01"],
27+
["mgmt-plane", "/providers/microsoft.network/checktrafficmanagernameavailability", "2024-04-01-preview"],
2828
]
2929
}
3030

@@ -104,7 +104,7 @@ def error_format(self):
104104
def query_parameters(self):
105105
parameters = {
106106
**self.serialize_query_param(
107-
"api-version", "2022-04-01",
107+
"api-version", "2024-04-01-preview",
108108
required=True,
109109
),
110110
}
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
# --------------------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# Licensed under the MIT License. See License.txt in the project root for license information.
4+
#
5+
# Code generated by aaz-dev-tools
6+
# --------------------------------------------------------------------------------------------
7+
8+
# pylint: skip-file
9+
# flake8: noqa
10+
11+
from azure.cli.core.aaz import *
12+
13+
14+
@register_command(
15+
"network traffic-manager profile check-dns-v2",
16+
)
17+
class CheckDnsV2(AAZCommand):
18+
"""Checks the availability of a Traffic Manager Relative DNS name.
19+
"""
20+
21+
_aaz_info = {
22+
"version": "2024-04-01-preview",
23+
"resources": [
24+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.network/checktrafficmanagernameavailabilityv2", "2024-04-01-preview"],
25+
]
26+
}
27+
28+
def _handler(self, command_args):
29+
super()._handler(command_args)
30+
self._execute_operations()
31+
return self._output()
32+
33+
_args_schema = None
34+
35+
@classmethod
36+
def _build_arguments_schema(cls, *args, **kwargs):
37+
if cls._args_schema is not None:
38+
return cls._args_schema
39+
cls._args_schema = super()._build_arguments_schema(*args, **kwargs)
40+
41+
# define Arg Group ""
42+
43+
# define Arg Group "Parameters"
44+
45+
_args_schema = cls._args_schema
46+
_args_schema.name = AAZStrArg(
47+
options=["--name"],
48+
arg_group="Parameters",
49+
help="The name of the resource.",
50+
)
51+
_args_schema.type = AAZStrArg(
52+
options=["--type"],
53+
arg_group="Parameters",
54+
help="The type of the resource.",
55+
)
56+
return cls._args_schema
57+
58+
def _execute_operations(self):
59+
self.pre_operations()
60+
self.ProfilesCheckTrafficManagerNameAvailabilityV2(ctx=self.ctx)()
61+
self.post_operations()
62+
63+
@register_callback
64+
def pre_operations(self):
65+
pass
66+
67+
@register_callback
68+
def post_operations(self):
69+
pass
70+
71+
def _output(self, *args, **kwargs):
72+
result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True)
73+
return result
74+
75+
class ProfilesCheckTrafficManagerNameAvailabilityV2(AAZHttpOperation):
76+
CLIENT_TYPE = "MgmtClient"
77+
78+
def __call__(self, *args, **kwargs):
79+
request = self.make_request()
80+
session = self.client.send_request(request=request, stream=False, **kwargs)
81+
if session.http_response.status_code in [200]:
82+
return self.on_200(session)
83+
84+
return self.on_error(session.http_response)
85+
86+
@property
87+
def url(self):
88+
return self.client.format_url(
89+
"/subscriptions/{subscriptionId}/providers/Microsoft.Network/checkTrafficManagerNameAvailabilityV2",
90+
**self.url_parameters
91+
)
92+
93+
@property
94+
def method(self):
95+
return "POST"
96+
97+
@property
98+
def error_format(self):
99+
return "ODataV4Format"
100+
101+
@property
102+
def url_parameters(self):
103+
parameters = {
104+
**self.serialize_url_param(
105+
"subscriptionId", self.ctx.subscription_id,
106+
required=True,
107+
),
108+
}
109+
return parameters
110+
111+
@property
112+
def query_parameters(self):
113+
parameters = {
114+
**self.serialize_query_param(
115+
"api-version", "2024-04-01-preview",
116+
required=True,
117+
),
118+
}
119+
return parameters
120+
121+
@property
122+
def header_parameters(self):
123+
parameters = {
124+
**self.serialize_header_param(
125+
"Content-Type", "application/json",
126+
),
127+
**self.serialize_header_param(
128+
"Accept", "application/json",
129+
),
130+
}
131+
return parameters
132+
133+
@property
134+
def content(self):
135+
_content_value, _builder = self.new_content_builder(
136+
self.ctx.args,
137+
typ=AAZObjectType,
138+
typ_kwargs={"flags": {"required": True, "client_flatten": True}}
139+
)
140+
_builder.set_prop("name", AAZStrType, ".name")
141+
_builder.set_prop("type", AAZStrType, ".type")
142+
143+
return self.serialize_content(_content_value)
144+
145+
def on_200(self, session):
146+
data = self.deserialize_http_content(session)
147+
self.ctx.set_var(
148+
"instance",
149+
data,
150+
schema_builder=self._build_schema_on_200
151+
)
152+
153+
_schema_on_200 = None
154+
155+
@classmethod
156+
def _build_schema_on_200(cls):
157+
if cls._schema_on_200 is not None:
158+
return cls._schema_on_200
159+
160+
cls._schema_on_200 = AAZObjectType()
161+
162+
_schema_on_200 = cls._schema_on_200
163+
_schema_on_200.message = AAZStrType()
164+
_schema_on_200.name = AAZStrType()
165+
_schema_on_200.name_available = AAZBoolType(
166+
serialized_name="nameAvailable",
167+
)
168+
_schema_on_200.reason = AAZStrType()
169+
_schema_on_200.type = AAZStrType()
170+
171+
return cls._schema_on_200
172+
173+
174+
class _CheckDnsV2Helper:
175+
"""Helper class for CheckDnsV2"""
176+
177+
178+
__all__ = ["CheckDnsV2"]

0 commit comments

Comments
 (0)