Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL3RyYWZmaWNtYW5hZ2VycHJvZmlsZXMve30=/2018-08-01.xml (1,327 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}" version="2018-08-01" swagger="mgmt-plane/trafficmanager/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay90cmFmZmljbWFuYWdlcnByb2ZpbGVzL3twcm9maWxlTmFtZX0=/V/MjAxOC0wOC0wMQ=="/>
<commandGroup name="network traffic-manager profile">
<command name="create" version="2018-08-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}" version="2018-08-01" swagger="mgmt-plane/trafficmanager/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay90cmFmZmljbWFuYWdlcnByb2ZpbGVzL3twcm9maWxlTmFtZX0=/V/MjAxOC0wOC0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.profileName" options="name n" required="True" idPart="name">
<help short="Traffic manager profile name."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$parameters.properties.dnsConfig.relativeName" options="unique-dns-name">
<help short="Relative DNS name for the traffic manager profile. Resulting FQDN will be `<unique-dns-name>.trafficmanager.net` and must be globally unique."/>
</arg>
<arg type="integer64" var="$parameters.properties.dnsConfig.ttl" options="ttl">
<help short="DNS config time-to-live in seconds."/>
<default value="30"/>
</arg>
<arg type="integer64" var="$parameters.properties.maxReturn" options="max-return">
<help short="Maximum number of endpoints to be returned for MultiValue routing type."/>
</arg>
<arg type="string" var="$parameters.properties.profileStatus" options="status">
<help short="Status of the Traffic Manager profile."/>
<default value=""Enabled""/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.trafficRoutingMethod" options="routing-method">
<help short="Routing method."/>
<enum>
<item name="Geographic" value=""Geographic""/>
<item name="MultiValue" value=""MultiValue""/>
<item name="Performance" value=""Performance""/>
<item name="Priority" value=""Priority""/>
<item name="Subnet" value=""Subnet""/>
<item name="Weighted" value=""Weighted""/>
</enum>
</arg>
<arg type="object" var="$parameters.tags" options="tags">
<help short="Space-separated tags: key[=value] [key[=value] ...]."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Monitor Configuration">
<arg type="array<object>" var="$parameters.properties.monitorConfig.customHeaders" options="custom-headers" group="Monitor Configuration">
<help short="Space-separated list of names or values."/>
<item type="object">
<arg type="string" var="$parameters.properties.monitorConfig.customHeaders[].name" options="name">
<help short="Header name."/>
</arg>
<arg type="string" var="$parameters.properties.monitorConfig.customHeaders[].value" options="value">
<help short="Header value."/>
</arg>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.monitorConfig.expectedStatusCodeRanges" options="status-code-ranges" group="Monitor Configuration">
<help short="Space-separated list of status codes in shorthand-syntax format."/>
<item type="object">
<arg type="integer" var="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].max" options="max">
<help short="Max status code."/>
</arg>
<arg type="integer" var="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].min" options="min">
<help short="Min status code."/>
</arg>
</item>
</arg>
<arg type="integer64" var="$parameters.properties.monitorConfig.intervalInSeconds" options="interval" group="Monitor Configuration">
<help short="The interval in seconds at which health checks are conducted."/>
</arg>
<arg type="string" var="$parameters.properties.monitorConfig.path" options="path" group="Monitor Configuration">
<help short="Path to monitor. Use ""('""' in PowerShell) for none."/>
</arg>
<arg type="integer64" var="$parameters.properties.monitorConfig.port" options="port" group="Monitor Configuration">
<help short="Port to monitor."/>
<default value="80"/>
</arg>
<arg type="string" var="$parameters.properties.monitorConfig.protocol" options="protocol" group="Monitor Configuration">
<help short="Monitor protocol."/>
<default value=""HTTP""/>
<enum>
<item name="HTTP" value=""HTTP""/>
<item name="HTTPS" value=""HTTPS""/>
<item name="TCP" value=""TCP""/>
</enum>
</arg>
<arg type="integer64" var="$parameters.properties.monitorConfig.timeoutInSeconds" options="timeout" group="Monitor Configuration">
<help short="The time in seconds allowed for endpoints to respond to a health check."/>
</arg>
<arg type="integer64" var="$parameters.properties.monitorConfig.toleratedNumberOfFailures" options="max-failures" group="Monitor Configuration">
<help short="The number of consecutive failed health checks tolerated before an endpoint is considered degraded."/>
</arg>
</argGroup>
<argGroup name="MonitorConfig">
<arg type="string" var="$parameters.properties.monitorConfig.profileMonitorStatus" options="profile-monitor-status" hide="True" group="MonitorConfig">
<help short="The profile-level monitoring status of the Traffic Manager profile."/>
<enum>
<item name="CheckingEndpoints" value=""CheckingEndpoints""/>
<item name="Degraded" value=""Degraded""/>
<item name="Disabled" value=""Disabled""/>
<item name="Inactive" value=""Inactive""/>
<item name="Online" value=""Online""/>
</enum>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg type="ResourceId" var="$parameters.id" options="id" hide="True" group="Parameters">
<help short="Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}"/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}"/>
</arg>
<arg type="ResourceLocation" var="$parameters.location" options="location l" group="Parameters">
<help short="The Azure Region where the resource lives"/>
<default value=""global""/>
</arg>
<arg type="string" var="$parameters.type" options="type" hide="True" group="Parameters">
<help short="The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles."/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="array<string>" var="$parameters.properties.allowedEndpointRecordTypes" options="allowed-endpoint-record-types" hide="True" group="Properties">
<help short="The list of allowed endpoint record types."/>
<item type="string">
<enum>
<item name="Any" value=""Any""/>
<item name="DomainName" value=""DomainName""/>
<item name="IPv4Address" value=""IPv4Address""/>
<item name="IPv6Address" value=""IPv6Address""/>
</enum>
</item>
</arg>
<arg type="array<object>" var="$parameters.properties.endpoints" options="endpoints" hide="True" group="Properties">
<help short="The list of endpoints in the Traffic Manager profile."/>
<item type="object">
<arg type="ResourceId" var="$parameters.properties.endpoints[].id" options="id">
<help short="Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}"/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}/{}/{}"/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].name" options="name">
<help short="The name of the resource"/>
</arg>
<arg type="array<object>" var="$parameters.properties.endpoints[].properties.customHeaders" options="custom-headers" group="Properties">
<help short="List of custom headers."/>
<item type="object">
<arg type="string" var="$parameters.properties.endpoints[].properties.customHeaders[].name" options="name">
<help short="Header name."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].properties.customHeaders[].value" options="value">
<help short="Header value."/>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].properties.endpointLocation" options="endpoint-location" group="Properties">
<help short="Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].properties.endpointMonitorStatus" options="endpoint-monitor-status" group="Properties">
<help short="The monitoring status of the endpoint."/>
<enum>
<item name="CheckingEndpoint" value=""CheckingEndpoint""/>
<item name="Degraded" value=""Degraded""/>
<item name="Disabled" value=""Disabled""/>
<item name="Inactive" value=""Inactive""/>
<item name="Online" value=""Online""/>
<item name="Stopped" value=""Stopped""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].properties.endpointStatus" options="endpoint-status" group="Properties">
<help short="The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg type="array<string>" var="$parameters.properties.endpoints[].properties.geoMapping" options="geo-mapping" group="Properties">
<help short="The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. Please consult Traffic Manager Geographic documentation for a full list of accepted values."/>
<item type="string"/>
</arg>
<arg type="integer64" var="$parameters.properties.endpoints[].properties.minChildEndpoints" options="min-child-endpoints" group="Properties">
<help short="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'."/>
</arg>
<arg type="integer64" var="$parameters.properties.endpoints[].properties.minChildEndpointsIPv4" options="min-child-endpoints-i-pv4" group="Properties">
<help short="The minimum number of IPv4 (DNS record type A) 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'."/>
</arg>
<arg type="integer64" var="$parameters.properties.endpoints[].properties.minChildEndpointsIPv6" options="min-child-endpoints-i-pv6" group="Properties">
<help short="The minimum number of IPv6 (DNS record type AAAA) 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'."/>
</arg>
<arg type="integer64" var="$parameters.properties.endpoints[].properties.priority" options="priority" group="Properties">
<help short="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."/>
</arg>
<arg type="array<object>" var="$parameters.properties.endpoints[].properties.subnets" options="subnets" group="Properties">
<help short="The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints."/>
<item type="object">
<arg type="string" var="$parameters.properties.endpoints[].properties.subnets[].first" options="first">
<help short="First address in the subnet."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].properties.subnets[].last" options="last">
<help short="Last address in the subnet."/>
</arg>
<arg type="integer" var="$parameters.properties.endpoints[].properties.subnets[].scope" options="scope">
<help short="Block size (number of leading bits in the subnet mask)."/>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].properties.target" options="target" group="Properties">
<help short="The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].properties.targetResourceId" options="target-resource-id" group="Properties">
<help short="The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'."/>
</arg>
<arg type="integer64" var="$parameters.properties.endpoints[].properties.weight" options="weight" group="Properties">
<help short="The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000."/>
</arg>
<arg type="string" var="$parameters.properties.endpoints[].type" options="type">
<help short="The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles."/>
</arg>
</item>
</arg>
<arg type="string" var="$parameters.properties.trafficViewEnrollmentStatus" options="traffic-view-enrollment-status" hide="True" group="Properties">
<help short="Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</argGroup>
<operation operationId="Profiles_CreateOrUpdate">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}">
<request method="put">
<path>
<param type="string" name="profileName" arg="$Path.profileName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-08-01""/>
</const>
</query>
<body>
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="ResourceId" name="id" arg="$parameters.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}"/>
</prop>
<prop type="ResourceLocation" name="location" arg="$parameters.location"/>
<prop type="string" name="name" arg="$Path.profileName"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="allowedEndpointRecordTypes" arg="$parameters.properties.allowedEndpointRecordTypes">
<item type="string">
<enum>
<item value=""Any""/>
<item value=""DomainName""/>
<item value=""IPv4Address""/>
<item value=""IPv6Address""/>
</enum>
</item>
</prop>
<prop type="object" name="dnsConfig">
<prop type="string" name="relativeName" arg="$parameters.properties.dnsConfig.relativeName"/>
<prop type="integer64" name="ttl" arg="$parameters.properties.dnsConfig.ttl"/>
</prop>
<prop type="array<object>" name="endpoints" arg="$parameters.properties.endpoints">
<item type="object">
<prop type="ResourceId" name="id" arg="$parameters.properties.endpoints[].id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}/{}/{}"/>
</prop>
<prop type="string" name="name" arg="$parameters.properties.endpoints[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customHeaders" arg="$parameters.properties.endpoints[].properties.customHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.endpoints[].properties.customHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.endpoints[].properties.customHeaders[].value"/>
</item>
</prop>
<prop type="string" name="endpointLocation" arg="$parameters.properties.endpoints[].properties.endpointLocation"/>
<prop type="string" name="endpointMonitorStatus" arg="$parameters.properties.endpoints[].properties.endpointMonitorStatus">
<enum>
<item value=""CheckingEndpoint""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
<item value=""Stopped""/>
</enum>
</prop>
<prop type="string" name="endpointStatus" arg="$parameters.properties.endpoints[].properties.endpointStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="array<string>" name="geoMapping" arg="$parameters.properties.endpoints[].properties.geoMapping">
<item type="string"/>
</prop>
<prop type="integer64" name="minChildEndpoints" arg="$parameters.properties.endpoints[].properties.minChildEndpoints"/>
<prop type="integer64" name="minChildEndpointsIPv4" arg="$parameters.properties.endpoints[].properties.minChildEndpointsIPv4"/>
<prop type="integer64" name="minChildEndpointsIPv6" arg="$parameters.properties.endpoints[].properties.minChildEndpointsIPv6"/>
<prop type="integer64" name="priority" arg="$parameters.properties.endpoints[].properties.priority"/>
<prop type="array<object>" name="subnets" arg="$parameters.properties.endpoints[].properties.subnets">
<item type="object">
<prop type="string" name="first" arg="$parameters.properties.endpoints[].properties.subnets[].first"/>
<prop type="string" name="last" arg="$parameters.properties.endpoints[].properties.subnets[].last"/>
<prop type="integer" name="scope" arg="$parameters.properties.endpoints[].properties.subnets[].scope"/>
</item>
</prop>
<prop type="string" name="target" arg="$parameters.properties.endpoints[].properties.target"/>
<prop type="string" name="targetResourceId" arg="$parameters.properties.endpoints[].properties.targetResourceId"/>
<prop type="integer64" name="weight" arg="$parameters.properties.endpoints[].properties.weight"/>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].type"/>
</item>
</prop>
<prop type="integer64" name="maxReturn" arg="$parameters.properties.maxReturn"/>
<prop type="object" name="monitorConfig">
<prop type="array<object>" name="customHeaders" arg="$parameters.properties.monitorConfig.customHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.monitorConfig.customHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.monitorConfig.customHeaders[].value"/>
</item>
</prop>
<prop type="array<object>" name="expectedStatusCodeRanges" arg="$parameters.properties.monitorConfig.expectedStatusCodeRanges">
<item type="object">
<prop type="integer" name="max" arg="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].max"/>
<prop type="integer" name="min" arg="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].min"/>
</item>
</prop>
<prop type="integer64" name="intervalInSeconds" arg="$parameters.properties.monitorConfig.intervalInSeconds"/>
<prop type="string" name="path" arg="$parameters.properties.monitorConfig.path"/>
<prop type="integer64" name="port" arg="$parameters.properties.monitorConfig.port"/>
<prop type="string" name="profileMonitorStatus" arg="$parameters.properties.monitorConfig.profileMonitorStatus">
<enum>
<item value=""CheckingEndpoints""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
</enum>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.monitorConfig.protocol">
<enum>
<item value=""HTTP""/>
<item value=""HTTPS""/>
<item value=""TCP""/>
</enum>
</prop>
<prop type="integer64" name="timeoutInSeconds" arg="$parameters.properties.monitorConfig.timeoutInSeconds"/>
<prop type="integer64" name="toleratedNumberOfFailures" arg="$parameters.properties.monitorConfig.toleratedNumberOfFailures"/>
</prop>
<prop type="string" name="profileStatus" arg="$parameters.properties.profileStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="trafficRoutingMethod" arg="$parameters.properties.trafficRoutingMethod">
<enum>
<item value=""Geographic""/>
<item value=""MultiValue""/>
<item value=""Performance""/>
<item value=""Priority""/>
<item value=""Subnet""/>
<item value=""Weighted""/>
</enum>
</prop>
<prop type="string" name="trafficViewEnrollmentStatus" arg="$parameters.properties.trafficViewEnrollmentStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop type="string" name="type" arg="$parameters.type"/>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="allowedEndpointRecordTypes">
<item type="string">
<enum>
<item value=""Any""/>
<item value=""DomainName""/>
<item value=""IPv4Address""/>
<item value=""IPv6Address""/>
</enum>
</item>
</prop>
<prop type="object" name="dnsConfig">
<prop readOnly="True" type="string" name="fqdn"/>
<prop type="string" name="relativeName"/>
<prop type="integer64" name="ttl"/>
</prop>
<prop type="array<object>" name="endpoints">
<item type="object">
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}/{}/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="string" name="endpointLocation"/>
<prop type="string" name="endpointMonitorStatus">
<enum>
<item value=""CheckingEndpoint""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
<item value=""Stopped""/>
</enum>
</prop>
<prop type="string" name="endpointStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="array<string>" name="geoMapping">
<item type="string"/>
</prop>
<prop type="integer64" name="minChildEndpoints"/>
<prop type="integer64" name="minChildEndpointsIPv4"/>
<prop type="integer64" name="minChildEndpointsIPv6"/>
<prop type="integer64" name="priority"/>
<prop type="array<object>" name="subnets">
<item type="object">
<prop type="string" name="first"/>
<prop type="string" name="last"/>
<prop type="integer" name="scope"/>
</item>
</prop>
<prop type="string" name="target"/>
<prop type="string" name="targetResourceId"/>
<prop type="integer64" name="weight"/>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="integer64" name="maxReturn"/>
<prop type="object" name="monitorConfig">
<prop type="array<object>" name="customHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<object>" name="expectedStatusCodeRanges">
<item type="object">
<prop type="integer" name="max"/>
<prop type="integer" name="min"/>
</item>
</prop>
<prop type="integer64" name="intervalInSeconds"/>
<prop type="string" name="path"/>
<prop type="integer64" name="port"/>
<prop type="string" name="profileMonitorStatus">
<enum>
<item value=""CheckingEndpoints""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
</enum>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""HTTP""/>
<item value=""HTTPS""/>
<item value=""TCP""/>
</enum>
</prop>
<prop type="integer64" name="timeoutInSeconds"/>
<prop type="integer64" name="toleratedNumberOfFailures"/>
</prop>
<prop type="string" name="profileStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="trafficRoutingMethod">
<enum>
<item value=""Geographic""/>
<item value=""MultiValue""/>
<item value=""Performance""/>
<item value=""Priority""/>
<item value=""Subnet""/>
<item value=""Weighted""/>
</enum>
</prop>
<prop type="string" name="trafficViewEnrollmentStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2018-08-01" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}" version="2018-08-01" swagger="mgmt-plane/trafficmanager/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay90cmFmZmljbWFuYWdlcnByb2ZpbGVzL3twcm9maWxlTmFtZX0=/V/MjAxOC0wOC0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.profileName" options="name n" required="True" idPart="name">
<help short="The name of the Traffic Manager profile to be deleted."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="Profiles_Delete">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}">
<request method="delete">
<path>
<param type="string" name="profileName" arg="$Path.profileName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-08-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="boolean" name="boolean"/>
</schema>
</json>
</body>
</response>
<response statusCode="204"/>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="show" version="2018-08-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}" version="2018-08-01" swagger="mgmt-plane/trafficmanager/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay90cmFmZmljbWFuYWdlcnByb2ZpbGVzL3twcm9maWxlTmFtZX0=/V/MjAxOC0wOC0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.profileName" options="profile-name name n" required="True" idPart="name">
<help short="The name of the Traffic Manager profile."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="Profiles_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}">
<request method="get">
<path>
<param type="string" name="profileName" arg="$Path.profileName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-08-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="allowedEndpointRecordTypes">
<item type="string">
<enum>
<item value=""Any""/>
<item value=""DomainName""/>
<item value=""IPv4Address""/>
<item value=""IPv6Address""/>
</enum>
</item>
</prop>
<prop type="object" name="dnsConfig">
<prop readOnly="True" type="string" name="fqdn"/>
<prop type="string" name="relativeName"/>
<prop type="integer64" name="ttl"/>
</prop>
<prop type="array<object>" name="endpoints">
<item type="object">
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}/{}/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="string" name="endpointLocation"/>
<prop type="string" name="endpointMonitorStatus">
<enum>
<item value=""CheckingEndpoint""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
<item value=""Stopped""/>
</enum>
</prop>
<prop type="string" name="endpointStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="array<string>" name="geoMapping">
<item type="string"/>
</prop>
<prop type="integer64" name="minChildEndpoints"/>
<prop type="integer64" name="minChildEndpointsIPv4"/>
<prop type="integer64" name="minChildEndpointsIPv6"/>
<prop type="integer64" name="priority"/>
<prop type="array<object>" name="subnets">
<item type="object">
<prop type="string" name="first"/>
<prop type="string" name="last"/>
<prop type="integer" name="scope"/>
</item>
</prop>
<prop type="string" name="target"/>
<prop type="string" name="targetResourceId"/>
<prop type="integer64" name="weight"/>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="integer64" name="maxReturn"/>
<prop type="object" name="monitorConfig">
<prop type="array<object>" name="customHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<object>" name="expectedStatusCodeRanges">
<item type="object">
<prop type="integer" name="max"/>
<prop type="integer" name="min"/>
</item>
</prop>
<prop type="integer64" name="intervalInSeconds"/>
<prop type="string" name="path"/>
<prop type="integer64" name="port"/>
<prop type="string" name="profileMonitorStatus">
<enum>
<item value=""CheckingEndpoints""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
</enum>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""HTTP""/>
<item value=""HTTPS""/>
<item value=""TCP""/>
</enum>
</prop>
<prop type="integer64" name="timeoutInSeconds"/>
<prop type="integer64" name="toleratedNumberOfFailures"/>
</prop>
<prop type="string" name="profileStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="trafficRoutingMethod">
<enum>
<item value=""Geographic""/>
<item value=""MultiValue""/>
<item value=""Performance""/>
<item value=""Priority""/>
<item value=""Subnet""/>
<item value=""Weighted""/>
</enum>
</prop>
<prop type="string" name="trafficViewEnrollmentStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2018-08-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/trafficmanagerprofiles/{}" version="2018-08-01" swagger="mgmt-plane/trafficmanager/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay90cmFmZmljbWFuYWdlcnByb2ZpbGVzL3twcm9maWxlTmFtZX0=/V/MjAxOC0wOC0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.profileName" options="name n" required="True" idPart="name">
<help short="The name of the Traffic Manager profile."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg nullable="True" type="string" var="$parameters.properties.dnsConfig.relativeName" options="unique-dns-name" hide="True">
<help short="Relative DNS name for the traffic manager profile. Resulting FQDN will be `<unique-dns-name>.trafficmanager.net` and must be globally unique."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.dnsConfig.ttl" options="ttl">
<help short="DNS config time-to-live in seconds."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.maxReturn" options="max-return">
<help short="Maximum number of endpoints to be returned for MultiValue routing type."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.profileStatus" options="status">
<help short="Status of the Traffic Manager profile. Allowed values: Disabled, Enabled."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.trafficRoutingMethod" options="routing-method">
<help short="Routing method."/>
<enum>
<item name="Geographic" value=""Geographic""/>
<item name="MultiValue" value=""MultiValue""/>
<item name="Performance" value=""Performance""/>
<item name="Priority" value=""Priority""/>
<item name="Subnet" value=""Subnet""/>
<item name="Weighted" value=""Weighted""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.tags" options="tags">
<help short="Space-separated tags: key[=value] [key[=value] ...]."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Monitor Configuration">
<arg nullable="True" type="array<object>" var="$parameters.properties.monitorConfig.customHeaders" options="custom-headers" group="Monitor Configuration">
<help short="Space-separated list of names or values."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.monitorConfig.customHeaders[].name" options="name">
<help short="Header name."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.monitorConfig.customHeaders[].value" options="value">
<help short="Header value."/>
</arg>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.monitorConfig.expectedStatusCodeRanges" options="status-code-ranges" group="Monitor Configuration">
<help short="Space-separated list of status codes in shorthand-syntax format."/>
<item nullable="True" type="object">
<arg nullable="True" type="integer" var="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].max" options="max">
<help short="Max status code."/>
</arg>
<arg nullable="True" type="integer" var="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].min" options="min">
<help short="Min status code."/>
</arg>
</item>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.monitorConfig.intervalInSeconds" options="interval" group="Monitor Configuration">
<help short="The interval in seconds at which health checks are conducted."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.monitorConfig.path" options="path" group="Monitor Configuration">
<help short="Path to monitor. Use ""('""' in PowerShell) for none."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.monitorConfig.port" options="port" group="Monitor Configuration">
<help short="Port to monitor."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.monitorConfig.protocol" options="protocol" group="Monitor Configuration">
<help short="Monitor protocol. Allowed values: HTTP, HTTPS, TCP."/>
<enum>
<item name="HTTP" value=""HTTP""/>
<item name="HTTPS" value=""HTTPS""/>
<item name="TCP" value=""TCP""/>
</enum>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.monitorConfig.timeoutInSeconds" options="timeout" group="Monitor Configuration">
<help short="The time in seconds allowed for endpoints to respond to a health check."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.monitorConfig.toleratedNumberOfFailures" options="max-failures" group="Monitor Configuration">
<help short="The number of consecutive failed health checks tolerated before an endpoint is considered degraded."/>
</arg>
</argGroup>
<argGroup name="MonitorConfig">
<arg nullable="True" type="string" var="$parameters.properties.monitorConfig.profileMonitorStatus" options="profile-monitor-status" hide="True" group="MonitorConfig">
<help short="The profile-level monitoring status of the Traffic Manager profile."/>
<enum>
<item name="CheckingEndpoints" value=""CheckingEndpoints""/>
<item name="Degraded" value=""Degraded""/>
<item name="Disabled" value=""Disabled""/>
<item name="Inactive" value=""Inactive""/>
<item name="Online" value=""Online""/>
</enum>
</arg>
</argGroup>
<argGroup name="Parameters">
<arg nullable="True" type="ResourceId" var="$parameters.id" options="id" hide="True" group="Parameters">
<help short="Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}"/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}"/>
</arg>
<arg nullable="True" type="string" var="$parameters.type" options="type" hide="True" group="Parameters">
<help short="The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles."/>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="array<string>" var="$parameters.properties.allowedEndpointRecordTypes" options="allowed-endpoint-record-types" hide="True" group="Properties">
<help short="The list of allowed endpoint record types."/>
<item nullable="True" type="string">
<enum>
<item name="Any" value=""Any""/>
<item name="DomainName" value=""DomainName""/>
<item name="IPv4Address" value=""IPv4Address""/>
<item name="IPv6Address" value=""IPv6Address""/>
</enum>
</item>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints" options="endpoints" hide="True" group="Properties">
<help short="The list of endpoints in the Traffic Manager profile."/>
<item nullable="True" type="object">
<arg nullable="True" type="ResourceId" var="$parameters.properties.endpoints[].id" options="id">
<help short="Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}"/>
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}/{}/{}"/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].name" options="name">
<help short="The name of the resource"/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints[].properties.customHeaders" options="custom-headers" group="Properties">
<help short="List of custom headers."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.customHeaders[].name" options="name">
<help short="Header name."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.customHeaders[].value" options="value">
<help short="Header value."/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.endpointLocation" options="endpoint-location" group="Properties">
<help short="Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.endpointMonitorStatus" options="endpoint-monitor-status" group="Properties">
<help short="The monitoring status of the endpoint."/>
<enum>
<item name="CheckingEndpoint" value=""CheckingEndpoint""/>
<item name="Degraded" value=""Degraded""/>
<item name="Disabled" value=""Disabled""/>
<item name="Inactive" value=""Inactive""/>
<item name="Online" value=""Online""/>
<item name="Stopped" value=""Stopped""/>
</enum>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.endpointStatus" options="endpoint-status" group="Properties">
<help short="The status of the endpoint. If the endpoint is Enabled, it is probed for endpoint health and is included in the traffic routing method."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
<arg nullable="True" type="array<string>" var="$parameters.properties.endpoints[].properties.geoMapping" options="geo-mapping" group="Properties">
<help short="The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. Please consult Traffic Manager Geographic documentation for a full list of accepted values."/>
<item nullable="True" type="string"/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.endpoints[].properties.minChildEndpoints" options="min-child-endpoints" group="Properties">
<help short="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'."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.endpoints[].properties.minChildEndpointsIPv4" options="min-child-endpoints-i-pv4" group="Properties">
<help short="The minimum number of IPv4 (DNS record type A) 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'."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.endpoints[].properties.minChildEndpointsIPv6" options="min-child-endpoints-i-pv6" group="Properties">
<help short="The minimum number of IPv6 (DNS record type AAAA) 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'."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.endpoints[].properties.priority" options="priority" group="Properties">
<help short="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."/>
</arg>
<arg nullable="True" type="array<object>" var="$parameters.properties.endpoints[].properties.subnets" options="subnets" group="Properties">
<help short="The list of subnets, IP addresses, and/or address ranges mapped to this endpoint when using the 'Subnet' traffic routing method. An empty list will match all ranges not covered by other endpoints."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.subnets[].first" options="first">
<help short="First address in the subnet."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.subnets[].last" options="last">
<help short="Last address in the subnet."/>
</arg>
<arg nullable="True" type="integer" var="$parameters.properties.endpoints[].properties.subnets[].scope" options="scope">
<help short="Block size (number of leading bits in the subnet mask)."/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.target" options="target" group="Properties">
<help short="The fully-qualified DNS name or IP address of the endpoint. Traffic Manager returns this value in DNS responses to direct traffic to this endpoint."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].properties.targetResourceId" options="target-resource-id" group="Properties">
<help short="The Azure Resource URI of the of the endpoint. Not applicable to endpoints of type 'ExternalEndpoints'."/>
</arg>
<arg nullable="True" type="integer64" var="$parameters.properties.endpoints[].properties.weight" options="weight" group="Properties">
<help short="The weight of this endpoint when using the 'Weighted' traffic routing method. Possible values are from 1 to 1000."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.endpoints[].type" options="type">
<help short="The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles."/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.trafficViewEnrollmentStatus" options="traffic-view-enrollment-status" hide="True" group="Properties">
<help short="Indicates whether Traffic View is 'Enabled' or 'Disabled' for the Traffic Manager profile. Null, indicates 'Disabled'. Enabling this feature will increase the cost of the Traffic Manage profile."/>
<enum>
<item name="Disabled" value=""Disabled""/>
<item name="Enabled" value=""Enabled""/>
</enum>
</arg>
</argGroup>
<operation operationId="Profiles_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}">
<request method="get">
<path>
<param type="string" name="profileName" arg="$Path.profileName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-08-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="Profile_read">
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}"/>
</prop>
<prop type="ResourceLocation" name="location"/>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="allowedEndpointRecordTypes">
<item type="string">
<enum>
<item value=""Any""/>
<item value=""DomainName""/>
<item value=""IPv4Address""/>
<item value=""IPv6Address""/>
</enum>
</item>
</prop>
<prop type="object" name="dnsConfig">
<prop readOnly="True" type="string" name="fqdn"/>
<prop type="string" name="relativeName"/>
<prop type="integer64" name="ttl"/>
</prop>
<prop type="array<object>" name="endpoints">
<item type="object">
<prop type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}/{}/{}"/>
</prop>
<prop type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="string" name="endpointLocation"/>
<prop type="string" name="endpointMonitorStatus">
<enum>
<item value=""CheckingEndpoint""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
<item value=""Stopped""/>
</enum>
</prop>
<prop type="string" name="endpointStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="array<string>" name="geoMapping">
<item type="string"/>
</prop>
<prop type="integer64" name="minChildEndpoints"/>
<prop type="integer64" name="minChildEndpointsIPv4"/>
<prop type="integer64" name="minChildEndpointsIPv6"/>
<prop type="integer64" name="priority"/>
<prop type="array<object>" name="subnets">
<item type="object">
<prop type="string" name="first"/>
<prop type="string" name="last"/>
<prop type="integer" name="scope"/>
</item>
</prop>
<prop type="string" name="target"/>
<prop type="string" name="targetResourceId"/>
<prop type="integer64" name="weight"/>
</prop>
<prop type="string" name="type"/>
</item>
</prop>
<prop type="integer64" name="maxReturn"/>
<prop type="object" name="monitorConfig">
<prop type="array<object>" name="customHeaders">
<item type="object">
<prop type="string" name="name"/>
<prop type="string" name="value"/>
</item>
</prop>
<prop type="array<object>" name="expectedStatusCodeRanges">
<item type="object">
<prop type="integer" name="max"/>
<prop type="integer" name="min"/>
</item>
</prop>
<prop type="integer64" name="intervalInSeconds"/>
<prop type="string" name="path"/>
<prop type="integer64" name="port"/>
<prop type="string" name="profileMonitorStatus">
<enum>
<item value=""CheckingEndpoints""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
</enum>
</prop>
<prop type="string" name="protocol">
<enum>
<item value=""HTTP""/>
<item value=""HTTPS""/>
<item value=""TCP""/>
</enum>
</prop>
<prop type="integer64" name="timeoutInSeconds"/>
<prop type="integer64" name="toleratedNumberOfFailures"/>
</prop>
<prop type="string" name="profileStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="trafficRoutingMethod">
<enum>
<item value=""Geographic""/>
<item value=""MultiValue""/>
<item value=""Performance""/>
<item value=""Priority""/>
<item value=""Subnet""/>
<item value=""Weighted""/>
</enum>
</prop>
<prop type="string" name="trafficViewEnrollmentStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate instance="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="ResourceId" name="id" arg="$parameters.id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}"/>
</prop>
<prop type="string" name="name" arg="$Path.profileName"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<string>" name="allowedEndpointRecordTypes" arg="$parameters.properties.allowedEndpointRecordTypes">
<item type="string">
<enum>
<item value=""Any""/>
<item value=""DomainName""/>
<item value=""IPv4Address""/>
<item value=""IPv6Address""/>
</enum>
</item>
</prop>
<prop type="object" name="dnsConfig">
<prop type="string" name="relativeName" arg="$parameters.properties.dnsConfig.relativeName"/>
<prop type="integer64" name="ttl" arg="$parameters.properties.dnsConfig.ttl"/>
</prop>
<prop type="array<object>" name="endpoints" arg="$parameters.properties.endpoints">
<item type="object">
<prop type="ResourceId" name="id" arg="$parameters.properties.endpoints[].id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/trafficmanagerprofiles/{}/{}/{}"/>
</prop>
<prop type="string" name="name" arg="$parameters.properties.endpoints[].name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="customHeaders" arg="$parameters.properties.endpoints[].properties.customHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.endpoints[].properties.customHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.endpoints[].properties.customHeaders[].value"/>
</item>
</prop>
<prop type="string" name="endpointLocation" arg="$parameters.properties.endpoints[].properties.endpointLocation"/>
<prop type="string" name="endpointMonitorStatus" arg="$parameters.properties.endpoints[].properties.endpointMonitorStatus">
<enum>
<item value=""CheckingEndpoint""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
<item value=""Stopped""/>
</enum>
</prop>
<prop type="string" name="endpointStatus" arg="$parameters.properties.endpoints[].properties.endpointStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="array<string>" name="geoMapping" arg="$parameters.properties.endpoints[].properties.geoMapping">
<item type="string"/>
</prop>
<prop type="integer64" name="minChildEndpoints" arg="$parameters.properties.endpoints[].properties.minChildEndpoints"/>
<prop type="integer64" name="minChildEndpointsIPv4" arg="$parameters.properties.endpoints[].properties.minChildEndpointsIPv4"/>
<prop type="integer64" name="minChildEndpointsIPv6" arg="$parameters.properties.endpoints[].properties.minChildEndpointsIPv6"/>
<prop type="integer64" name="priority" arg="$parameters.properties.endpoints[].properties.priority"/>
<prop type="array<object>" name="subnets" arg="$parameters.properties.endpoints[].properties.subnets">
<item type="object">
<prop type="string" name="first" arg="$parameters.properties.endpoints[].properties.subnets[].first"/>
<prop type="string" name="last" arg="$parameters.properties.endpoints[].properties.subnets[].last"/>
<prop type="integer" name="scope" arg="$parameters.properties.endpoints[].properties.subnets[].scope"/>
</item>
</prop>
<prop type="string" name="target" arg="$parameters.properties.endpoints[].properties.target"/>
<prop type="string" name="targetResourceId" arg="$parameters.properties.endpoints[].properties.targetResourceId"/>
<prop type="integer64" name="weight" arg="$parameters.properties.endpoints[].properties.weight"/>
</prop>
<prop type="string" name="type" arg="$parameters.properties.endpoints[].type"/>
</item>
</prop>
<prop type="integer64" name="maxReturn" arg="$parameters.properties.maxReturn"/>
<prop type="object" name="monitorConfig">
<prop type="array<object>" name="customHeaders" arg="$parameters.properties.monitorConfig.customHeaders">
<item type="object">
<prop type="string" name="name" arg="$parameters.properties.monitorConfig.customHeaders[].name"/>
<prop type="string" name="value" arg="$parameters.properties.monitorConfig.customHeaders[].value"/>
</item>
</prop>
<prop type="array<object>" name="expectedStatusCodeRanges" arg="$parameters.properties.monitorConfig.expectedStatusCodeRanges">
<item type="object">
<prop type="integer" name="max" arg="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].max"/>
<prop type="integer" name="min" arg="$parameters.properties.monitorConfig.expectedStatusCodeRanges[].min"/>
</item>
</prop>
<prop type="integer64" name="intervalInSeconds" arg="$parameters.properties.monitorConfig.intervalInSeconds"/>
<prop type="string" name="path" arg="$parameters.properties.monitorConfig.path"/>
<prop type="integer64" name="port" arg="$parameters.properties.monitorConfig.port"/>
<prop type="string" name="profileMonitorStatus" arg="$parameters.properties.monitorConfig.profileMonitorStatus">
<enum>
<item value=""CheckingEndpoints""/>
<item value=""Degraded""/>
<item value=""Disabled""/>
<item value=""Inactive""/>
<item value=""Online""/>
</enum>
</prop>
<prop type="string" name="protocol" arg="$parameters.properties.monitorConfig.protocol">
<enum>
<item value=""HTTP""/>
<item value=""HTTPS""/>
<item value=""TCP""/>
</enum>
</prop>
<prop type="integer64" name="timeoutInSeconds" arg="$parameters.properties.monitorConfig.timeoutInSeconds"/>
<prop type="integer64" name="toleratedNumberOfFailures" arg="$parameters.properties.monitorConfig.toleratedNumberOfFailures"/>
</prop>
<prop type="string" name="profileStatus" arg="$parameters.properties.profileStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
<prop type="string" name="trafficRoutingMethod" arg="$parameters.properties.trafficRoutingMethod">
<enum>
<item value=""Geographic""/>
<item value=""MultiValue""/>
<item value=""Performance""/>
<item value=""Priority""/>
<item value=""Subnet""/>
<item value=""Weighted""/>
</enum>
</prop>
<prop type="string" name="trafficViewEnrollmentStatus" arg="$parameters.properties.trafficViewEnrollmentStatus">
<enum>
<item value=""Disabled""/>
<item value=""Enabled""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop type="string" name="type" arg="$parameters.type"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="Profiles_CreateOrUpdate">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}">
<request method="put">
<path>
<param type="string" name="profileName" arg="$Path.profileName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2018-08-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@Profile_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@ODataV4Format"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
</commandGroup>
</CodeGen>