Skip to content

Commit

Permalink
Merge pull request #2760 from Azure/ant/tm
Browse files Browse the repository at this point in the history
Onboard Microsoft.Network trafficmanager for autogeneration
  • Loading branch information
anthony-c-martin authored Jan 30, 2023
2 parents 91ebc7c + 2009f73 commit b24bae1
Show file tree
Hide file tree
Showing 15 changed files with 4,263 additions and 13 deletions.
3 changes: 1 addition & 2 deletions generator/autogenlist.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,7 @@ const disabledProviders: AutoGenConfig[] = [
{
basePath: 'trafficmanager/resource-manager',
namespace: 'Microsoft.Network',
disabledForAutogen: true,
suffix: 'trafficManager',
suffix: 'TrafficManager',
},
{
basePath: 'videoanalyzer/resource-manager',
Expand Down
260 changes: 260 additions & 0 deletions schemas/2015-11-01/Microsoft.Network.TrafficManager.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
{
"id": "https://schema.management.azure.com/schemas/2015-11-01/Microsoft.Network.TrafficManager.json#",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Microsoft.Network",
"description": "Microsoft Network Resource Types",
"resourceDefinitions": {
"trafficmanagerprofiles": {
"type": "object",
"properties": {
"apiVersion": {
"type": "string",
"enum": [
"2015-11-01"
]
},
"location": {
"type": "string",
"description": "Resource location"
},
"name": {
"type": "string",
"description": "The name of the Traffic Manager profile."
},
"properties": {
"oneOf": [
{
"$ref": "#/definitions/ProfileProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Class representing the Traffic Manager profile properties."
},
"tags": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
},
"properties": {}
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Resource tags"
},
"type": {
"type": "string",
"enum": [
"Microsoft.Network/trafficmanagerprofiles"
]
}
},
"required": [
"apiVersion",
"name",
"properties",
"type"
],
"description": "Microsoft.Network/trafficmanagerprofiles"
}
},
"definitions": {
"DnsConfig": {
"type": "object",
"properties": {
"fqdn": {
"type": "string",
"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."
},
"relativeName": {
"type": "string",
"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."
},
"ttl": {
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"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."
}
},
"description": "Class containing DNS settings in a Traffic Manager profile."
},
"Endpoint": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the ID of the Traffic Manager endpoint."
},
"name": {
"type": "string",
"description": "Gets or sets the name of the Traffic Manager endpoint."
},
"properties": {
"oneOf": [
{
"$ref": "#/definitions/EndpointProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Class representing a Traffic Manager endpoint properties."
},
"type": {
"type": "string",
"description": "Gets or sets the endpoint type of the Traffic Manager endpoint."
}
},
"description": "Class representing a Traffic Manager endpoint."
},
"EndpointProperties": {
"type": "object",
"properties": {
"endpointLocation": {
"type": "string",
"description": "Specifies the location of the external or nested endpoints when using the ‘Performance’ traffic routing method."
},
"endpointMonitorStatus": {
"type": "string",
"description": "Gets or sets the monitoring status of the endpoint."
},
"endpointStatus": {
"type": "string",
"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'."
},
"minChildEndpoints": {
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"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'."
},
"priority": {
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"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."
},
"target": {
"type": "string",
"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."
},
"targetResourceId": {
"type": "string",
"description": "Gets or sets the Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'."
},
"weight": {
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Gets or sets the weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000."
}
},
"description": "Class representing a Traffic Manager endpoint properties."
},
"MonitorConfig": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Gets or sets the path relative to the endpoint domain name used to probe for endpoint health."
},
"port": {
"oneOf": [
{
"type": "integer"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Gets or sets the TCP port used to probe for endpoint health."
},
"profileMonitorStatus": {
"type": "string",
"description": "Gets or sets the profile-level monitoring status of the Traffic Manager profile."
},
"protocol": {
"type": "string",
"description": "Gets or sets the protocol (HTTP or HTTPS) used to probe for endpoint health."
}
},
"description": "Class containing endpoint monitoring settings in a Traffic Manager profile."
},
"ProfileProperties": {
"type": "object",
"properties": {
"dnsConfig": {
"oneOf": [
{
"$ref": "#/definitions/DnsConfig"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Class containing DNS settings in a Traffic Manager profile."
},
"endpoints": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/Endpoint"
}
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Gets or sets the list of endpoints in the Traffic Manager profile."
},
"monitorConfig": {
"oneOf": [
{
"$ref": "#/definitions/MonitorConfig"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
],
"description": "Class containing endpoint monitoring settings in a Traffic Manager profile."
},
"profileStatus": {
"type": "string",
"description": "Gets or sets the status of the Traffic Manager profile. Possible values are 'Enabled' and 'Disabled'."
},
"trafficRoutingMethod": {
"type": "string",
"description": "Gets or sets the traffic routing method of the Traffic Manager profile. Possible values are 'Performance', 'Weighted', or 'Priority'."
}
},
"description": "Class representing the Traffic Manager profile properties."
}
}
}
Loading

0 comments on commit b24bae1

Please sign in to comment.