Skip to content

Commit b24bae1

Browse files
Merge pull request #2760 from Azure/ant/tm
Onboard Microsoft.Network trafficmanager for autogeneration
2 parents 91ebc7c + 2009f73 commit b24bae1

15 files changed

+4263
-13
lines changed

generator/autogenlist.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ const disabledProviders: AutoGenConfig[] = [
8181
{
8282
basePath: 'trafficmanager/resource-manager',
8383
namespace: 'Microsoft.Network',
84-
disabledForAutogen: true,
85-
suffix: 'trafficManager',
84+
suffix: 'TrafficManager',
8685
},
8786
{
8887
basePath: 'videoanalyzer/resource-manager',
Lines changed: 260 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,260 @@
1+
{
2+
"id": "https://schema.management.azure.com/schemas/2015-11-01/Microsoft.Network.TrafficManager.json#",
3+
"$schema": "http://json-schema.org/draft-04/schema#",
4+
"title": "Microsoft.Network",
5+
"description": "Microsoft Network Resource Types",
6+
"resourceDefinitions": {
7+
"trafficmanagerprofiles": {
8+
"type": "object",
9+
"properties": {
10+
"apiVersion": {
11+
"type": "string",
12+
"enum": [
13+
"2015-11-01"
14+
]
15+
},
16+
"location": {
17+
"type": "string",
18+
"description": "Resource location"
19+
},
20+
"name": {
21+
"type": "string",
22+
"description": "The name of the Traffic Manager profile."
23+
},
24+
"properties": {
25+
"oneOf": [
26+
{
27+
"$ref": "#/definitions/ProfileProperties"
28+
},
29+
{
30+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
31+
}
32+
],
33+
"description": "Class representing the Traffic Manager profile properties."
34+
},
35+
"tags": {
36+
"oneOf": [
37+
{
38+
"type": "object",
39+
"additionalProperties": {
40+
"type": "string"
41+
},
42+
"properties": {}
43+
},
44+
{
45+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
46+
}
47+
],
48+
"description": "Resource tags"
49+
},
50+
"type": {
51+
"type": "string",
52+
"enum": [
53+
"Microsoft.Network/trafficmanagerprofiles"
54+
]
55+
}
56+
},
57+
"required": [
58+
"apiVersion",
59+
"name",
60+
"properties",
61+
"type"
62+
],
63+
"description": "Microsoft.Network/trafficmanagerprofiles"
64+
}
65+
},
66+
"definitions": {
67+
"DnsConfig": {
68+
"type": "object",
69+
"properties": {
70+
"fqdn": {
71+
"type": "string",
72+
"description": "Gets or sets the fully-qualified domain name (FQDN) of the Traffic Manager profile. This is formed from the concatenation of the RelativeName with the DNS domain used by Azure Traffic Manager."
73+
},
74+
"relativeName": {
75+
"type": "string",
76+
"description": "Gets or sets the relative DNS name provided by this Traffic Manager profile. This value is combined with the DNS domain name used by Azure Traffic Manager to form the fully-qualified domain name (FQDN) of the profile."
77+
},
78+
"ttl": {
79+
"oneOf": [
80+
{
81+
"type": "integer"
82+
},
83+
{
84+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
85+
}
86+
],
87+
"description": "Gets or sets the DNS Time-To-Live (TTL), in seconds. This informs the local DNS resolvers and DNS clients how long to cache DNS responses provided by this Traffic Manager profile."
88+
}
89+
},
90+
"description": "Class containing DNS settings in a Traffic Manager profile."
91+
},
92+
"Endpoint": {
93+
"type": "object",
94+
"properties": {
95+
"id": {
96+
"type": "string",
97+
"description": "Gets or sets the ID of the Traffic Manager endpoint."
98+
},
99+
"name": {
100+
"type": "string",
101+
"description": "Gets or sets the name of the Traffic Manager endpoint."
102+
},
103+
"properties": {
104+
"oneOf": [
105+
{
106+
"$ref": "#/definitions/EndpointProperties"
107+
},
108+
{
109+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
110+
}
111+
],
112+
"description": "Class representing a Traffic Manager endpoint properties."
113+
},
114+
"type": {
115+
"type": "string",
116+
"description": "Gets or sets the endpoint type of the Traffic Manager endpoint."
117+
}
118+
},
119+
"description": "Class representing a Traffic Manager endpoint."
120+
},
121+
"EndpointProperties": {
122+
"type": "object",
123+
"properties": {
124+
"endpointLocation": {
125+
"type": "string",
126+
"description": "Specifies the location of the external or nested endpoints when using the ‘Performance’ traffic routing method."
127+
},
128+
"endpointMonitorStatus": {
129+
"type": "string",
130+
"description": "Gets or sets the monitoring status of the endpoint."
131+
},
132+
"endpointStatus": {
133+
"type": "string",
134+
"description": "Gets or sets the status of the endpoint.. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method. Possible values are 'Enabled' and 'Disabled'."
135+
},
136+
"minChildEndpoints": {
137+
"oneOf": [
138+
{
139+
"type": "integer"
140+
},
141+
{
142+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
143+
}
144+
],
145+
"description": "Gets or sets the minimum number of endpoints that must be available in the child profile in order for the parent profile to be considered available. Only applicable to endpoint of type 'NestedEndpoints'."
146+
},
147+
"priority": {
148+
"oneOf": [
149+
{
150+
"type": "integer"
151+
},
152+
{
153+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
154+
}
155+
],
156+
"description": "Gets or sets the priority of this endpoint when using the ‘Priority’ traffic routing method. Possible values are from 1 to 1000, lower values represent higher priority. This is an optional parameter. If specified, it must be specified on all endpoints, and no two endpoints can share the same priority value."
157+
},
158+
"target": {
159+
"type": "string",
160+
"description": "Gets or sets the fully-qualified DNS name of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint."
161+
},
162+
"targetResourceId": {
163+
"type": "string",
164+
"description": "Gets or sets the Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'."
165+
},
166+
"weight": {
167+
"oneOf": [
168+
{
169+
"type": "integer"
170+
},
171+
{
172+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
173+
}
174+
],
175+
"description": "Gets or sets the weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000."
176+
}
177+
},
178+
"description": "Class representing a Traffic Manager endpoint properties."
179+
},
180+
"MonitorConfig": {
181+
"type": "object",
182+
"properties": {
183+
"path": {
184+
"type": "string",
185+
"description": "Gets or sets the path relative to the endpoint domain name used to probe for endpoint health."
186+
},
187+
"port": {
188+
"oneOf": [
189+
{
190+
"type": "integer"
191+
},
192+
{
193+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
194+
}
195+
],
196+
"description": "Gets or sets the TCP port used to probe for endpoint health."
197+
},
198+
"profileMonitorStatus": {
199+
"type": "string",
200+
"description": "Gets or sets the profile-level monitoring status of the Traffic Manager profile."
201+
},
202+
"protocol": {
203+
"type": "string",
204+
"description": "Gets or sets the protocol (HTTP or HTTPS) used to probe for endpoint health."
205+
}
206+
},
207+
"description": "Class containing endpoint monitoring settings in a Traffic Manager profile."
208+
},
209+
"ProfileProperties": {
210+
"type": "object",
211+
"properties": {
212+
"dnsConfig": {
213+
"oneOf": [
214+
{
215+
"$ref": "#/definitions/DnsConfig"
216+
},
217+
{
218+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
219+
}
220+
],
221+
"description": "Class containing DNS settings in a Traffic Manager profile."
222+
},
223+
"endpoints": {
224+
"oneOf": [
225+
{
226+
"type": "array",
227+
"items": {
228+
"$ref": "#/definitions/Endpoint"
229+
}
230+
},
231+
{
232+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
233+
}
234+
],
235+
"description": "Gets or sets the list of endpoints in the Traffic Manager profile."
236+
},
237+
"monitorConfig": {
238+
"oneOf": [
239+
{
240+
"$ref": "#/definitions/MonitorConfig"
241+
},
242+
{
243+
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
244+
}
245+
],
246+
"description": "Class containing endpoint monitoring settings in a Traffic Manager profile."
247+
},
248+
"profileStatus": {
249+
"type": "string",
250+
"description": "Gets or sets the status of the Traffic Manager profile. Possible values are 'Enabled' and 'Disabled'."
251+
},
252+
"trafficRoutingMethod": {
253+
"type": "string",
254+
"description": "Gets or sets the traffic routing method of the Traffic Manager profile. Possible values are 'Performance', 'Weighted', or 'Priority'."
255+
}
256+
},
257+
"description": "Class representing the Traffic Manager profile properties."
258+
}
259+
}
260+
}

0 commit comments

Comments
 (0)