Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Public Preview API specification for Frontdoor Azure Resource

This directory contains preview schema specifications for the new Front Door Azure Resource. The API will be added to support Front Door on Azure Resource Manager.

The base swagger document for new features in this preview: [FrontDoor.json](./FrontDoor.json)

## Overview
The Front Door ARM API supports CRUD functionality on four objects in the resource schema:
`Frontdoor`, a collection of child objects `BackendPool`, a collection of child objects `FrontendEndpoints` and the primary child object `RoutingRule`, which each reference one `BackendPool` and `FrontendEndpoints` . Each routing rule encapsulates
all of the settings needed to configure the AzureFD backend infrastructure to set up a
reverse-proxy route to accelerate traffic, detect backend availability,
and balance between healthy members of the pool.

## Generated object-model UML diagram
This diagram is generated from the swagger spec by "[`oav`](https://github.com/Azure/oav) `generate-uml`"
![Generated UML snapshot](./assets/frontdoor.svg)

## Swagger and JSON specification reference and tools
* [OpenAPI specification v2.0 (aka Swagger 2.0)](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md)
* [Swagger.io online editor](https://editor.swagger.io/)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"parameters": {
"api-version": "2018-08-01",
"checkFrontDoorNameAvailabilityInput": {
"name": "sampleName",
"type": "Microsoft.Network/FrontDoors"
}
},
"responses": {
"200": {
"body": {
"nameAvailability": "Unavailable",
"reason": "Name is already in use",
"message": "Name not available"
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"parameters": {
"api-version": "2018-08-01",
"subscriptionId": "subid",
"checkFrontDoorNameAvailabilityInput": {
"name": "sampleName",
"type": "Microsoft.Network/FrontDoors/frontendEndpoints"
}
},
"responses": {
"200": {
"body": {
"nameAvailability": "Unavailable",
"reason": "Name is already in use",
"message": "Name not available"
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
{
"parameters": {
"api-version": "2018-08-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"frontDoorName": "frontDoor1",
"backendPoolName": "backendPool1",
"backendPoolParameters": {
"name": "backendPool1",
"properties": {
"backends": [
{
"address": "w3.contoso.com",
"httpPort": 80,
"httpsPort": 443,
"weight": 1,
"priority": 2
},
{
"address": "contoso.com.website-us-west-2.othercloud.net",
"httpPort": 80,
"httpsPort": 443,
"weight": 2,
"priority": 1
},
{
"address": "contoso1.azurewebsites.net",
"httpPort": 80,
"httpsPort": 443,
"weight": 1,
"priority": 1
}
],
"loadBalancingSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
},
"healthProbeSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
}
}
}
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
"name": "backendPool1",
"properties": {
"backends": [
{
"address": "w3.contoso.com",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 2
},
{
"address": "contoso.com.website-us-west-2.othercloud.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 2,
"priority": 1
},
{
"address": "contoso1.azurewebsites.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 1
}
],
"loadBalancingSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
},
"healthProbeSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
}
}
}
},
"201": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
"name": "backendPool1",
"properties": {
"backends": [
{
"address": "w3.contoso.com",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 2
},
{
"address": "contoso.com.website-us-west-2.othercloud.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 2,
"priority": 1
},
{
"address": "contoso1.azurewebsites.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 1
}
],
"loadBalancingSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
},
"healthProbeSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
}
}
}
},
"202": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
"name": "backendPool1",
"properties": {
"backends": [
{
"address": "w3.contoso.com",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 2
},
{
"address": "contoso.com.website-us-west-2.othercloud.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 2,
"priority": 1
},
{
"address": "contoso1.azurewebsites.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 1
}
],
"loadBalancingSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
},
"healthProbeSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
}
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"parameters": {
"api-version": "2018-08-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"frontDoorName": "frontDoor1",
"backendPoolName": "backendPool1"
},
"responses": {
"202": {},
"204": {}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"parameters": {
"api-version": "2018-08-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"frontDoorName": "frontDoor1",
"backendPoolName": "backendPool1"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
"name": "backendPool1",
"properties": {
"backends": [
{
"address": "w3.contoso.com",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 2
},
{
"address": "contoso.com.website-us-west-2.othercloud.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 2,
"priority": 1
},
{
"address": "contoso1.azurewebsites.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 1
}
],
"loadBalancingSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
},
"healthProbeSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
}
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"parameters": {
"api-version": "2018-08-01",
"subscriptionId": "subid",
"resourceGroupName": "rg1",
"frontDoorName": "frontDoor1"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
"name": "backendPool1",
"properties": {
"backends": [
{
"address": "w3.contoso.com",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 2
},
{
"address": "contoso.com.website-us-west-2.othercloud.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 2,
"priority": 1
},
{
"address": "contoso1.azurewebsites.net",
"httpPort": 80,
"httpsPort": 443,
"enabledState": "Enabled",
"weight": 1,
"priority": 1
}
],
"loadBalancingSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
},
"healthProbeSettings": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
}
}
}
]
}
}
}
}
Loading