From 306da472978b90786948e5dce9a0e8be895d0908 Mon Sep 17 00:00:00 2001 From: malpaniHMC Date: Wed, 22 May 2024 23:33:12 -0700 Subject: [PATCH] AGC v.2024-05-01-preview (#28726) * init * examples ref + security config * readme changes * main + examples * addressing arm review comments * fixing validation errors from comment fixes * remmoving ddos changes * adding documentation and addressing warnings * securitypolicy config !readonly + validation * validation errors * securityconfig array -> field * v5 + examples * example operation id * readme fixes * keeping stable version as well * reverting 2023-11-01 changes * adding docs for PR pipeline * new line * reverting * updating to latest tsp syntax * versioning * removing 200s from 2023-11-01 * push * description space --- .../2023-11-01/AssociationDelete.json | 1 - .../examples/2023-11-01/FrontendDelete.json | 1 - .../2023-11-01/TrafficControllerDelete.json | 1 - .../2024-05-01-preview/AssociationDelete.json | 20 + .../2024-05-01-preview/AssociationGet.json | 28 + .../2024-05-01-preview/AssociationPatch.json | 35 + .../2024-05-01-preview/AssociationPut.json | 51 + .../2024-05-01-preview/AssociationsGet.json | 31 + .../2024-05-01-preview/FrontendDelete.json | 20 + .../2024-05-01-preview/FrontendGet.json | 25 + .../2024-05-01-preview/FrontendPatch.json | 26 + .../2024-05-01-preview/FrontendPut.json | 41 + .../2024-05-01-preview/FrontendsGet.json | 28 + .../2024-05-01-preview/OperationsList.json | 26 + .../SecurityPoliciesGetList.json | 31 + .../SecurityPolicyDelete.json | 20 + .../2024-05-01-preview/SecurityPolicyGet.json | 28 + .../SecurityPolicyPatch.json | 35 + .../2024-05-01-preview/SecurityPolicyPut.json | 51 + .../TrafficControllerDelete.json | 19 + .../TrafficControllerGet.json | 39 + .../TrafficControllerPatch.json | 54 + .../TrafficControllerPut.json | 92 + .../TrafficControllersGet.json | 52 + .../TrafficControllersGetList.json | 51 + .../ServiceNetworking.Management/main.tsp | 181 +- .../2024-05-01-preview/TrafficController.json | 1918 +++++++++++++++++ .../examples/AssociationDelete.json | 20 + .../examples/AssociationGet.json | 28 + .../examples/AssociationPatch.json | 35 + .../examples/AssociationPut.json | 51 + .../examples/AssociationsGet.json | 31 + .../examples/FrontendDelete.json | 20 + .../examples/FrontendGet.json | 25 + .../examples/FrontendPatch.json | 26 + .../examples/FrontendPut.json | 41 + .../examples/FrontendsGet.json | 28 + .../examples/OperationsList.json | 26 + .../examples/SecurityPoliciesGetList.json | 31 + .../examples/SecurityPolicyDelete.json | 20 + .../examples/SecurityPolicyGet.json | 28 + .../examples/SecurityPolicyPatch.json | 35 + .../examples/SecurityPolicyPut.json | 51 + .../examples/TrafficControllerDelete.json | 19 + .../examples/TrafficControllerGet.json | 39 + .../examples/TrafficControllerPatch.json | 54 + .../examples/TrafficControllerPut.json | 92 + .../examples/TrafficControllersGet.json | 52 + .../examples/TrafficControllersGetList.json | 51 + .../stable/2023-11-01/TrafficController.json | 43 +- .../examples/AssociationDelete.json | 1 - .../2023-11-01/examples/FrontendDelete.json | 1 - .../examples/TrafficControllerDelete.json | 1 - .../resource-manager/readme.md | 11 +- 54 files changed, 3703 insertions(+), 62 deletions(-) create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationDelete.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationGet.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPatch.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPut.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationsGet.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendDelete.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendGet.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPatch.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPut.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendsGet.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/OperationsList.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPoliciesGetList.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyDelete.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyGet.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPatch.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPut.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerDelete.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerGet.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPatch.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPut.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGet.json create mode 100644 specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGetList.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationDelete.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationGet.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPatch.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPut.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationsGet.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendDelete.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendGet.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPatch.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPut.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendsGet.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/OperationsList.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPoliciesGetList.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyDelete.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyGet.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPatch.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPut.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerDelete.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerGet.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPatch.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPut.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGet.json create mode 100644 specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGetList.json diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/AssociationDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/AssociationDelete.json index 8312f438ad35..d67a519709e5 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/AssociationDelete.json +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/AssociationDelete.json @@ -9,7 +9,6 @@ "associationName": "as1" }, "responses": { - "200": {}, "202": { "headers": { "Retry-After": 3, diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/FrontendDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/FrontendDelete.json index 16d61ab94ec1..08e0d5e826fb 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/FrontendDelete.json +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/FrontendDelete.json @@ -9,7 +9,6 @@ "frontendName": "fe1" }, "responses": { - "200": {}, "202": { "headers": { "Retry-After": 3, diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/TrafficControllerDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/TrafficControllerDelete.json index add4d98ca164..3037ebf88cd8 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/TrafficControllerDelete.json +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2023-11-01/TrafficControllerDelete.json @@ -8,7 +8,6 @@ "trafficControllerName": "tc1" }, "responses": { - "200": {}, "202": { "headers": { "Retry-After": 3, diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationDelete.json new file mode 100644 index 000000000000..4bda79e734ae --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete Association", + "operationId": "AssociationsInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationGet.json new file mode 100644 index 000000000000..d4caea970ebf --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationGet.json @@ -0,0 +1,28 @@ +{ + "title": "Get Association", + "operationId": "AssociationsInterface_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1" + }, + "responses": { + "200": { + "body": { + "name": "as1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPatch.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPatch.json new file mode 100644 index 000000000000..0c5c80d8120e --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPatch.json @@ -0,0 +1,35 @@ +{ + "title": "Update Association", + "operationId": "AssociationsInterface_Update", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1", + "properties": { + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "as1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPut.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPut.json new file mode 100644 index 000000000000..e07ef2aef85c --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationPut.json @@ -0,0 +1,51 @@ +{ + "title": "Put Association", + "operationId": "AssociationsInterface_CreateOrUpdate", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1", + "resource": { + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "associatedvnet-1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + }, + "provisioningState": "Accepted" + } + } + }, + "201": { + "body": { + "name": "associatedvnet-1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationsGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationsGet.json new file mode 100644 index 000000000000..ec481b0f9fc3 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/AssociationsGet.json @@ -0,0 +1,31 @@ +{ + "title": "Get Associations", + "operationId": "AssociationsInterface_ListByTrafficController", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "as1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendDelete.json new file mode 100644 index 000000000000..583d2073ca2e --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete Frontend", + "operationId": "FrontendsInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendGet.json new file mode 100644 index 000000000000..9c5659b2be02 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendGet.json @@ -0,0 +1,25 @@ +{ + "title": "Get Frontend", + "operationId": "FrontendsInterface_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1" + }, + "responses": { + "200": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPatch.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPatch.json new file mode 100644 index 000000000000..28da65c447b7 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPatch.json @@ -0,0 +1,26 @@ +{ + "title": "Update Frontend", + "operationId": "FrontendsInterface_Update", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1", + "properties": {} + }, + "responses": { + "200": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPut.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPut.json new file mode 100644 index 000000000000..4d389aab9307 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendPut.json @@ -0,0 +1,41 @@ +{ + "title": "Put Frontend", + "operationId": "FrontendsInterface_CreateOrUpdate", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1", + "resource": { + "location": "NorthCentralUS", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendsGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendsGet.json new file mode 100644 index 000000000000..e6dcc4cf4a77 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/FrontendsGet.json @@ -0,0 +1,28 @@ +{ + "title": "Get Frontends", + "operationId": "FrontendsInterface_ListByTrafficController", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/OperationsList.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/OperationsList.json new file mode 100644 index 000000000000..3f201f16220f --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/OperationsList.json @@ -0,0 +1,26 @@ +{ + "title": "Get Operations List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ServiceNetworking/trafficControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Service Networking", + "resource": "Traffic Controller", + "operation": "Get Traffic Controller configuration", + "description": "Traffic Controller is a L7 Load Balancing solution for a Multi Cluster setup" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPoliciesGetList.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPoliciesGetList.json new file mode 100644 index 000000000000..c1f973169e1d --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPoliciesGetList.json @@ -0,0 +1,31 @@ +{ + "title": "Get SecurityPolicies", + "operationId": "SecurityPoliciesInterface_ListByTrafficController", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyDelete.json new file mode 100644 index 000000000000..348aaea8e8e1 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete SecurityPolicy", + "operationId": "SecurityPoliciesInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyGet.json new file mode 100644 index 000000000000..25ba7bc5d657 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyGet.json @@ -0,0 +1,28 @@ +{ + "title": "Get SecurityPolicy", + "operationId": "SecurityPoliciesInterface_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1" + }, + "responses": { + "200": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPatch.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPatch.json new file mode 100644 index 000000000000..fbb8f7672c98 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPatch.json @@ -0,0 +1,35 @@ +{ + "title": "Update SecurityPolicy", + "operationId": "SecurityPoliciesInterface_Update", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1", + "properties": { + "properties": { + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPut.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPut.json new file mode 100644 index 000000000000..b28178d79320 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/SecurityPolicyPut.json @@ -0,0 +1,51 @@ +{ + "title": "Put SecurityPolicy", + "operationId": "SecurityPoliciesInterface_CreateOrUpdate", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1", + "resource": { + "location": "NorthCentralUS", + "properties": { + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerDelete.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerDelete.json new file mode 100644 index 000000000000..3731d45552ce --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete Traffic Controller", + "operationId": "TrafficControllerInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerGet.json new file mode 100644 index 000000000000..be47be64ee87 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerGet.json @@ -0,0 +1,39 @@ +{ + "operationId": "TrafficControllerInterface_Get", + "title": "Get Traffic Controller", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPatch.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPatch.json new file mode 100644 index 000000000000..7d0958ff0ae9 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPatch.json @@ -0,0 +1,54 @@ +{ + "operationId": "TrafficControllerInterface_Update", + "title": "Patch Traffic Controller", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "properties": { + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPut.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPut.json new file mode 100644 index 000000000000..cec3b9134458 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllerPut.json @@ -0,0 +1,92 @@ +{ + "operationId": "TrafficControllerInterface_CreateOrUpdate", + "title": "Put Traffic Controller", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "resource": { + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGet.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGet.json new file mode 100644 index 000000000000..a144861b65f5 --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGet.json @@ -0,0 +1,52 @@ +{ + "operationId": "TrafficControllerInterface_ListByResourceGroup", + "title": "Get Traffic Controllers", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGetList.json b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGetList.json new file mode 100644 index 000000000000..bb220e3f510b --- /dev/null +++ b/specification/servicenetworking/ServiceNetworking.Management/examples/2024-05-01-preview/TrafficControllersGetList.json @@ -0,0 +1,51 @@ +{ + "operationId": "TrafficControllerInterface_ListBySubscription", + "title": "Get Traffic Controllers List", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/ServiceNetworking.Management/main.tsp b/specification/servicenetworking/ServiceNetworking.Management/main.tsp index 93369588f589..170ee278e7cc 100644 --- a/specification/servicenetworking/ServiceNetworking.Management/main.tsp +++ b/specification/servicenetworking/ServiceNetworking.Management/main.tsp @@ -4,19 +4,23 @@ import "@typespec/versioning"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; +/** Traffic Controller Provider management API. */ @armProviderNamespace +@armCommonTypesVersion("v3") @service({ title: "TrafficController", }) -@doc("Traffic Controller Provider management API.") @versioned(Versions) namespace Microsoft.ServiceNetworking; /** Api versions */ enum Versions { - /** 2023-11-01 preview version */ + /** 2023-11-01 stable version */ + v2023_11_01: "2023-11-01", + + /** 2024-05-01 preview version */ @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) - `2023-11-01`, + v2024_05_01_preview: "2024-05-01-preview", } using TypeSpec.Http; @@ -26,11 +30,11 @@ using Azure.Core; using Azure.ResourceManager; //----------------------- Frontends ----------------------- -@doc("Frontend Subresource of Traffic Controller.") +/** Frontend Sub Resource of Traffic Controller. */ @parentResource(TrafficController) model Frontend is TrackedResource { + /** Frontends */ @key("frontendName") - @doc("Frontends") @visibility("read") @path @segment("frontends") @@ -38,120 +42,223 @@ model Frontend is TrackedResource { name: string; } -@doc("Frontend Properties.") +/** Frontend Properties. */ model FrontendProperties { + /** The Fully Qualified Domain Name of the DNS record associated to a Traffic Controller frontend. */ @visibility("read") - @doc("The Fully Qualified Domain Name of the DNS record associated to a Traffic Controller frontend.") fqdn?: string; + /** Provisioning State of Traffic Controller Frontend Resource */ @visibility("read") - @doc("Provisioning State of Traffic Controller Frontend Resource") provisioningState?: ProvisioningState; } //----------------------- Associations ----------------------- -@doc("Association Subresource of Traffic Controller") +/** Association Subresource of Traffic Controller */ @parentResource(TrafficController) model Association is TrackedResource { + /** Name of Association */ @key("associationName") @visibility("read") - @doc("Name of Association") @path @segment("associations") @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$") name: string; } -@doc("Association Properties.") +/** Association Properties. */ model AssociationProperties { - @doc("Association Type") + /** Association Type */ associationType: AssociationType; - @doc("Association Subnet") + /** Association Subnet */ subnet?: AssociationSubnet; + /** Provisioning State of Traffic Controller Association Resource */ @visibility("read") - @doc("Provisioning State of Traffic Controller Association Resource") provisioningState?: ProvisioningState; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" +/** Association Type Enum */ union AssociationType { string, + + /** Association of Type Subnet */ "subnets", } -@doc("Association Subnet.") +/** Association Subnet. */ model AssociationSubnet { - @doc("Association ID.") + /** Association ID. */ + id: string; +} +//----------------------- SecurityPolicy ----------------------- +/** SecurityPolicy Subresource of Traffic Controller. */ +@parentResource(TrafficController) +model SecurityPolicy is TrackedResource { + /** SecurityPolicy */ + @key("securityPolicyName") + @visibility("read") + @path + @segment("securityPolicy") + @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$") + name: string; +} + +/** SecurityPolicy Properties. */ +model SecurityPolicyProperties { + /** Type of the Traffic Controller Security Policy */ + @visibility("read") + policyType: PolicyType; + + /** Web Application Firewall Policy of the Traffic Controller Security Policy */ + wafPolicy?: WafPolicy; + + /** Provisioning State of Traffic Controller SecurityPolicy Resource */ + @visibility("read") + provisioningState?: ProvisioningState; +} + +/** Policy Type of the Security Policy */ +union PolicyType { + string, + + /** Policy of Type WAF */ + WAF: "waf", +} + +/** Web Application Firewall Policy */ +model WafPolicy { + /** Resource ID of the WAF */ + id: string; +} + +/** SecurityPolicyConfigurations Subresource of Traffic Controller. */ +@parentResource(TrafficController) +model SecurityPolicyConfigurations { + /** Contains reference to a WAF-type security policy that is applied at the Traffic Controller level. */ + wafSecurityPolicy?: WafSecurityPolicy; +} + +/** Web Application Firewall Security Policy */ +model WafSecurityPolicy { + /** Resource ID of the Waf Security Policy */ id: string; } //----------------------- Traffic Controller ----------------------- @resource("trafficControllers") model TrafficController is TrackedResource { + /** traffic controller name for path */ @key("trafficControllerName") @path @segment("trafficControllers") - @doc("traffic controller name for path") @pattern("^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$") name: string; } -@doc("Traffic Controller Properties.") +/** Traffic Controller Properties. */ model TrafficControllerProperties { - @doc("Configuration Endpoints.") + /** Configuration Endpoints. */ @visibility("read") configurationEndpoints?: string[]; + /** Frontends References List */ @visibility("read") - @doc("Frontends References List") frontends?: ResourceId[]; + /** Associations References List */ @visibility("read") - @doc("Associations References List") associations?: ResourceId[]; + /** Security Policies References List */ + @visibility("read") + @added(Versions.v2024_05_01_preview) + securityPolicies?: ResourceId[]; + + /** Security Policy Configuration */ + @added(Versions.v2024_05_01_preview) + @OpenAPI.extension("x-ms-identifiers", []) + securityPolicyConfigurations?: SecurityPolicyConfigurations; + + /** The status of the last operation. */ @visibility("read") - @doc("The status of the last operation.") provisioningState?: ProvisioningState; } -#suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" +/** Resource Provisioning State Enum */ @lroStatus union ProvisioningState { string, + + /** Resource in Provisioning State */ Provisioning: "Provisioning", + + /** Resource in Updating State */ Updating: "Updating", + + /** Resource in Deleting State */ Deleting: "Deleting", + + /** Resource in Accepted State */ Accepted: "Accepted", + + /** Resource in Succeeded State */ Succeeded: "Succeeded", + + /** Resource in Failed State */ Failed: "Failed", + + /** Resource in Canceled State */ Canceled: "Canceled", } -@doc("Resource ID definition used by parent to reference child resources.") +/** Resource ID definition used by parent to reference child resources. */ model ResourceId { - @doc("Resource ID of child resource.") + /** Resource ID of child resource. */ id: string; } //----------------------- Paths ----------------------- @armResourceOperations -interface AssociationsInterface - extends ResourceInstanceOperations, - ResourceListByParent {} +interface AssociationsInterface { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrReplaceAsync; + update is ArmResourcePatchSync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} @armResourceOperations -interface FrontendsInterface - extends ResourceInstanceOperations, - ResourceListByParent {} +interface FrontendsInterface { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrReplaceAsync; + update is ArmResourcePatchSync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} +@added(Versions.v2024_05_01_preview) @armResourceOperations -interface TrafficControllerInterface - extends TrackedResourceOperations< - TrafficController, - TrafficControllerProperties - > {} +interface SecurityPoliciesInterface { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrReplaceAsync; + update is ArmResourcePatchSync; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; +} + +@armResourceOperations +interface TrafficControllerInterface { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrReplaceAsync; + update is ArmResourcePatchSync< + TrafficController, + TrafficControllerProperties + >; + delete is ArmResourceDeleteWithoutOkAsync; + listByResourceGroup is ArmResourceListByParent; + listBySubscription is ArmListBySubscription; +} interface Operations extends Azure.ResourceManager.Operations {} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json new file mode 100644 index 000000000000..9d1d97a9baab --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json @@ -0,0 +1,1918 @@ +{ + "swagger": "2.0", + "info": { + "title": "TrafficController", + "version": "2024-05-01-preview", + "description": "Traffic Controller Provider management API.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "AssociationsInterface" + }, + { + "name": "FrontendsInterface" + }, + { + "name": "SecurityPoliciesInterface" + }, + { + "name": "TrafficControllerInterface" + }, + { + "name": "Operations" + } + ], + "paths": { + "/providers/Microsoft.ServiceNetworking/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Operations List": { + "$ref": "./examples/OperationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceNetworking/trafficControllers": { + "get": { + "operationId": "TrafficControllerInterface_ListBySubscription", + "tags": [ + "TrafficControllerInterface" + ], + "description": "List TrafficController resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TrafficControllerListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Traffic Controllers List": { + "$ref": "./examples/TrafficControllersGetList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers": { + "get": { + "operationId": "TrafficControllerInterface_ListByResourceGroup", + "tags": [ + "TrafficControllerInterface" + ], + "description": "List TrafficController resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TrafficControllerListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Traffic Controllers": { + "$ref": "./examples/TrafficControllersGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}": { + "get": { + "operationId": "TrafficControllerInterface_Get", + "tags": [ + "TrafficControllerInterface" + ], + "description": "Get a TrafficController", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TrafficController" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Traffic Controller": { + "$ref": "./examples/TrafficControllerGet.json" + } + } + }, + "put": { + "operationId": "TrafficControllerInterface_CreateOrUpdate", + "tags": [ + "TrafficControllerInterface" + ], + "description": "Create a TrafficController", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/TrafficController" + } + } + ], + "responses": { + "200": { + "description": "Resource 'TrafficController' update operation succeeded", + "schema": { + "$ref": "#/definitions/TrafficController" + } + }, + "201": { + "description": "Resource 'TrafficController' create operation succeeded", + "schema": { + "$ref": "#/definitions/TrafficController" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put Traffic Controller": { + "$ref": "./examples/TrafficControllerPut.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "TrafficControllerInterface_Update", + "tags": [ + "TrafficControllerInterface" + ], + "description": "Update a TrafficController", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/TrafficControllerUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TrafficController" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Traffic Controller": { + "$ref": "./examples/TrafficControllerPatch.json" + } + } + }, + "delete": { + "operationId": "TrafficControllerInterface_Delete", + "tags": [ + "TrafficControllerInterface" + ], + "description": "Delete a TrafficController", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Traffic Controller": { + "$ref": "./examples/TrafficControllerDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/associations": { + "get": { + "operationId": "AssociationsInterface_ListByTrafficController", + "tags": [ + "AssociationsInterface" + ], + "description": "List Association resources by TrafficController", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AssociationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Associations": { + "$ref": "./examples/AssociationsGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/associations/{associationName}": { + "get": { + "operationId": "AssociationsInterface_Get", + "tags": [ + "AssociationsInterface" + ], + "description": "Get a Association", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "associationName", + "in": "path", + "description": "Name of Association", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Association" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Association": { + "$ref": "./examples/AssociationGet.json" + } + } + }, + "put": { + "operationId": "AssociationsInterface_CreateOrUpdate", + "tags": [ + "AssociationsInterface" + ], + "description": "Create a Association", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "associationName", + "in": "path", + "description": "Name of Association", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/Association" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Association' update operation succeeded", + "schema": { + "$ref": "#/definitions/Association" + } + }, + "201": { + "description": "Resource 'Association' create operation succeeded", + "schema": { + "$ref": "#/definitions/Association" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put Association": { + "$ref": "./examples/AssociationPut.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "AssociationsInterface_Update", + "tags": [ + "AssociationsInterface" + ], + "description": "Update a Association", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "associationName", + "in": "path", + "description": "Name of Association", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AssociationUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Association" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Association": { + "$ref": "./examples/AssociationPatch.json" + } + } + }, + "delete": { + "operationId": "AssociationsInterface_Delete", + "tags": [ + "AssociationsInterface" + ], + "description": "Delete a Association", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "associationName", + "in": "path", + "description": "Name of Association", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Association": { + "$ref": "./examples/AssociationDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends": { + "get": { + "operationId": "FrontendsInterface_ListByTrafficController", + "tags": [ + "FrontendsInterface" + ], + "description": "List Frontend resources by TrafficController", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/FrontendListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Frontends": { + "$ref": "./examples/FrontendsGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/frontends/{frontendName}": { + "get": { + "operationId": "FrontendsInterface_Get", + "tags": [ + "FrontendsInterface" + ], + "description": "Get a Frontend", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "frontendName", + "in": "path", + "description": "Frontends", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Frontend" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Frontend": { + "$ref": "./examples/FrontendGet.json" + } + } + }, + "put": { + "operationId": "FrontendsInterface_CreateOrUpdate", + "tags": [ + "FrontendsInterface" + ], + "description": "Create a Frontend", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "frontendName", + "in": "path", + "description": "Frontends", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/Frontend" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Frontend' update operation succeeded", + "schema": { + "$ref": "#/definitions/Frontend" + } + }, + "201": { + "description": "Resource 'Frontend' create operation succeeded", + "schema": { + "$ref": "#/definitions/Frontend" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put Frontend": { + "$ref": "./examples/FrontendPut.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "FrontendsInterface_Update", + "tags": [ + "FrontendsInterface" + ], + "description": "Update a Frontend", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "frontendName", + "in": "path", + "description": "Frontends", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/FrontendUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Frontend" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Frontend": { + "$ref": "./examples/FrontendPatch.json" + } + } + }, + "delete": { + "operationId": "FrontendsInterface_Delete", + "tags": [ + "FrontendsInterface" + ], + "description": "Delete a Frontend", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "frontendName", + "in": "path", + "description": "Frontends", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Frontend": { + "$ref": "./examples/FrontendDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/securityPolicy": { + "get": { + "operationId": "SecurityPoliciesInterface_ListByTrafficController", + "tags": [ + "SecurityPoliciesInterface" + ], + "description": "List SecurityPolicy resources by TrafficController", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SecurityPolicyListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get SecurityPolicies": { + "$ref": "./examples/SecurityPoliciesGetList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceNetworking/trafficControllers/{trafficControllerName}/securityPolicy/{securityPolicyName}": { + "get": { + "operationId": "SecurityPoliciesInterface_Get", + "tags": [ + "SecurityPoliciesInterface" + ], + "description": "Get a SecurityPolicy", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "SecurityPolicy", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get SecurityPolicy": { + "$ref": "./examples/SecurityPolicyGet.json" + } + } + }, + "put": { + "operationId": "SecurityPoliciesInterface_CreateOrUpdate", + "tags": [ + "SecurityPoliciesInterface" + ], + "description": "Create a SecurityPolicy", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "SecurityPolicy", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + } + ], + "responses": { + "200": { + "description": "Resource 'SecurityPolicy' update operation succeeded", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "201": { + "description": "Resource 'SecurityPolicy' create operation succeeded", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Put SecurityPolicy": { + "$ref": "./examples/SecurityPolicyPut.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "SecurityPoliciesInterface_Update", + "tags": [ + "SecurityPoliciesInterface" + ], + "description": "Update a SecurityPolicy", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "SecurityPolicy", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPolicyUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update SecurityPolicy": { + "$ref": "./examples/SecurityPolicyPatch.json" + } + } + }, + "delete": { + "operationId": "SecurityPoliciesInterface_Delete", + "tags": [ + "SecurityPoliciesInterface" + ], + "description": "Delete a SecurityPolicy", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "trafficControllerName", + "in": "path", + "description": "traffic controller name for path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "SecurityPolicy", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]([A-Za-z0-9-_.]{0,62}[A-Za-z0-9])?$" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete SecurityPolicy": { + "$ref": "./examples/SecurityPolicyDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Association": { + "type": "object", + "description": "Association Subresource of Traffic Controller", + "properties": { + "properties": { + "$ref": "#/definitions/AssociationProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "AssociationListResult": { + "type": "object", + "description": "The response of a Association list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Association items on this page", + "items": { + "$ref": "#/definitions/Association" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AssociationProperties": { + "type": "object", + "description": "Association Properties.", + "properties": { + "associationType": { + "$ref": "#/definitions/AssociationType", + "description": "Association Type" + }, + "subnet": { + "$ref": "#/definitions/AssociationSubnet", + "description": "Association Subnet" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning State of Traffic Controller Association Resource", + "readOnly": true + } + }, + "required": [ + "associationType" + ] + }, + "AssociationSubnet": { + "type": "object", + "description": "Association Subnet.", + "properties": { + "id": { + "type": "string", + "description": "Association ID." + } + }, + "required": [ + "id" + ] + }, + "AssociationSubnetUpdate": { + "type": "object", + "description": "Association Subnet.", + "properties": { + "id": { + "type": "string", + "description": "Association ID." + } + } + }, + "AssociationType": { + "type": "string", + "description": "Association Type Enum", + "enum": [ + "subnets" + ], + "x-ms-enum": { + "name": "AssociationType", + "modelAsString": true, + "values": [ + { + "name": "subnets", + "value": "subnets", + "description": "Association of Type Subnet" + } + ] + } + }, + "AssociationUpdate": { + "type": "object", + "description": "The type used for update operations of the Association.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/AssociationUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "AssociationUpdateProperties": { + "type": "object", + "description": "The updatable properties of the Association.", + "properties": { + "associationType": { + "$ref": "#/definitions/AssociationType", + "description": "Association Type" + }, + "subnet": { + "$ref": "#/definitions/AssociationSubnetUpdate", + "description": "Association Subnet" + } + } + }, + "Frontend": { + "type": "object", + "description": "Frontend Sub Resource of Traffic Controller.", + "properties": { + "properties": { + "$ref": "#/definitions/FrontendProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "FrontendListResult": { + "type": "object", + "description": "The response of a Frontend list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Frontend items on this page", + "items": { + "$ref": "#/definitions/Frontend" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "FrontendProperties": { + "type": "object", + "description": "Frontend Properties.", + "properties": { + "fqdn": { + "type": "string", + "description": "The Fully Qualified Domain Name of the DNS record associated to a Traffic Controller frontend.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning State of Traffic Controller Frontend Resource", + "readOnly": true + } + } + }, + "FrontendUpdate": { + "type": "object", + "description": "The type used for update operations of the Frontend.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PolicyType": { + "type": "string", + "description": "Policy Type of the Security Policy", + "enum": [ + "waf" + ], + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true, + "values": [ + { + "name": "WAF", + "value": "waf", + "description": "Policy of Type WAF" + } + ] + } + }, + "ProvisioningState": { + "type": "string", + "description": "Resource Provisioning State Enum", + "enum": [ + "Provisioning", + "Updating", + "Deleting", + "Accepted", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Resource in Provisioning State" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Resource in Updating State" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Resource in Deleting State" + }, + { + "name": "Accepted", + "value": "Accepted", + "description": "Resource in Accepted State" + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource in Succeeded State" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource in Failed State" + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource in Canceled State" + } + ] + } + }, + "ResourceId": { + "type": "object", + "description": "Resource ID definition used by parent to reference child resources.", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of child resource." + } + }, + "required": [ + "id" + ] + }, + "SecurityPolicy": { + "type": "object", + "description": "SecurityPolicy Subresource of Traffic Controller.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityPolicyProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "SecurityPolicyConfigurations": { + "type": "object", + "description": "SecurityPolicyConfigurations Subresource of Traffic Controller.", + "properties": { + "wafSecurityPolicy": { + "$ref": "#/definitions/WafSecurityPolicy", + "description": "Contains reference to a WAF-type security policy that is applied at the Traffic Controller level." + } + } + }, + "SecurityPolicyConfigurationsUpdate": { + "type": "object", + "description": "SecurityPolicyConfigurations Subresource of Traffic Controller.", + "properties": { + "wafSecurityPolicy": { + "$ref": "#/definitions/WafSecurityPolicyUpdate", + "description": "Contains reference to a WAF-type security policy that is applied at the Traffic Controller level." + } + } + }, + "SecurityPolicyListResult": { + "type": "object", + "description": "The response of a SecurityPolicy list operation.", + "properties": { + "value": { + "type": "array", + "description": "The SecurityPolicy items on this page", + "items": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "SecurityPolicyProperties": { + "type": "object", + "description": "SecurityPolicy Properties.", + "properties": { + "policyType": { + "$ref": "#/definitions/PolicyType", + "description": "Type of the Traffic Controller Security Policy", + "readOnly": true + }, + "wafPolicy": { + "$ref": "#/definitions/WafPolicy", + "description": "Web Application Firewall Policy of the Traffic Controller Security Policy" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning State of Traffic Controller SecurityPolicy Resource", + "readOnly": true + } + }, + "required": [ + "policyType" + ] + }, + "SecurityPolicyUpdate": { + "type": "object", + "description": "The type used for update operations of the SecurityPolicy.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/SecurityPolicyUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "SecurityPolicyUpdateProperties": { + "type": "object", + "description": "The updatable properties of the SecurityPolicy.", + "properties": { + "wafPolicy": { + "$ref": "#/definitions/WafPolicyUpdate", + "description": "Web Application Firewall Policy of the Traffic Controller Security Policy" + } + } + }, + "TrafficController": { + "type": "object", + "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", + "properties": { + "properties": { + "$ref": "#/definitions/TrafficControllerProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "TrafficControllerListResult": { + "type": "object", + "description": "The response of a TrafficController list operation.", + "properties": { + "value": { + "type": "array", + "description": "The TrafficController items on this page", + "items": { + "$ref": "#/definitions/TrafficController" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "TrafficControllerProperties": { + "type": "object", + "description": "Traffic Controller Properties.", + "properties": { + "configurationEndpoints": { + "type": "array", + "description": "Configuration Endpoints.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "frontends": { + "type": "array", + "description": "Frontends References List", + "items": { + "$ref": "#/definitions/ResourceId" + }, + "readOnly": true + }, + "associations": { + "type": "array", + "description": "Associations References List", + "items": { + "$ref": "#/definitions/ResourceId" + }, + "readOnly": true + }, + "securityPolicies": { + "type": "array", + "description": "Security Policies References List", + "items": { + "$ref": "#/definitions/ResourceId" + }, + "readOnly": true + }, + "securityPolicyConfigurations": { + "$ref": "#/definitions/SecurityPolicyConfigurations", + "description": "Security Policy Configuration", + "x-ms-identifiers": [] + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The status of the last operation.", + "readOnly": true + } + } + }, + "TrafficControllerUpdate": { + "type": "object", + "description": "The type used for update operations of the TrafficController.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/TrafficControllerUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "TrafficControllerUpdateProperties": { + "type": "object", + "description": "The updatable properties of the TrafficController.", + "properties": { + "securityPolicyConfigurations": { + "$ref": "#/definitions/SecurityPolicyConfigurationsUpdate", + "description": "Security Policy Configuration", + "x-ms-identifiers": [] + } + } + }, + "WafPolicy": { + "type": "object", + "description": "Web Application Firewall Policy", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of the WAF" + } + }, + "required": [ + "id" + ] + }, + "WafPolicyUpdate": { + "type": "object", + "description": "Web Application Firewall Policy", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of the WAF" + } + } + }, + "WafSecurityPolicy": { + "type": "object", + "description": "Web Application Firewall Security Policy", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of the Waf Security Policy" + } + }, + "required": [ + "id" + ] + }, + "WafSecurityPolicyUpdate": { + "type": "object", + "description": "Web Application Firewall Security Policy", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of the Waf Security Policy" + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationDelete.json new file mode 100644 index 000000000000..4bda79e734ae --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete Association", + "operationId": "AssociationsInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationGet.json new file mode 100644 index 000000000000..d4caea970ebf --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationGet.json @@ -0,0 +1,28 @@ +{ + "title": "Get Association", + "operationId": "AssociationsInterface_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1" + }, + "responses": { + "200": { + "body": { + "name": "as1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPatch.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPatch.json new file mode 100644 index 000000000000..0c5c80d8120e --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPatch.json @@ -0,0 +1,35 @@ +{ + "title": "Update Association", + "operationId": "AssociationsInterface_Update", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1", + "properties": { + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "as1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPut.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPut.json new file mode 100644 index 000000000000..e07ef2aef85c --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationPut.json @@ -0,0 +1,51 @@ +{ + "title": "Put Association", + "operationId": "AssociationsInterface_CreateOrUpdate", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "associationName": "as1", + "resource": { + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "associatedvnet-1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + }, + "provisioningState": "Accepted" + } + } + }, + "201": { + "body": { + "name": "associatedvnet-1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + } + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationsGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationsGet.json new file mode 100644 index 000000000000..ec481b0f9fc3 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/AssociationsGet.json @@ -0,0 +1,31 @@ +{ + "title": "Get Associations", + "operationId": "AssociationsInterface_ListByTrafficController", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "as1", + "type": "Microsoft.ServiceNetworking/trafficControllers/associations", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/associations/as1", + "location": "NorthCentralUS", + "properties": { + "associationType": "subnets", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet-tc/subnets/tc-subnet" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendDelete.json new file mode 100644 index 000000000000..583d2073ca2e --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete Frontend", + "operationId": "FrontendsInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendGet.json new file mode 100644 index 000000000000..9c5659b2be02 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendGet.json @@ -0,0 +1,25 @@ +{ + "title": "Get Frontend", + "operationId": "FrontendsInterface_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1" + }, + "responses": { + "200": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPatch.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPatch.json new file mode 100644 index 000000000000..28da65c447b7 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPatch.json @@ -0,0 +1,26 @@ +{ + "title": "Update Frontend", + "operationId": "FrontendsInterface_Update", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1", + "properties": {} + }, + "responses": { + "200": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPut.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPut.json new file mode 100644 index 000000000000..4d389aab9307 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendPut.json @@ -0,0 +1,41 @@ +{ + "title": "Put Frontend", + "operationId": "FrontendsInterface_CreateOrUpdate", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "frontendName": "fe1", + "resource": { + "location": "NorthCentralUS", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendsGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendsGet.json new file mode 100644 index 000000000000..e6dcc4cf4a77 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/FrontendsGet.json @@ -0,0 +1,28 @@ +{ + "title": "Get Frontends", + "operationId": "FrontendsInterface_ListByTrafficController", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "fe1", + "location": "NorthCentralUS", + "type": "Microsoft.ServiceNetworking/trafficControllers/frontends", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1", + "properties": { + "fqdn": "test.net", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/OperationsList.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..3f201f16220f --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/OperationsList.json @@ -0,0 +1,26 @@ +{ + "title": "Get Operations List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ServiceNetworking/trafficControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Service Networking", + "resource": "Traffic Controller", + "operation": "Get Traffic Controller configuration", + "description": "Traffic Controller is a L7 Load Balancing solution for a Multi Cluster setup" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPoliciesGetList.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPoliciesGetList.json new file mode 100644 index 000000000000..c1f973169e1d --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPoliciesGetList.json @@ -0,0 +1,31 @@ +{ + "title": "Get SecurityPolicies", + "operationId": "SecurityPoliciesInterface_ListByTrafficController", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyDelete.json new file mode 100644 index 000000000000..348aaea8e8e1 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete SecurityPolicy", + "operationId": "SecurityPoliciesInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyGet.json new file mode 100644 index 000000000000..25ba7bc5d657 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyGet.json @@ -0,0 +1,28 @@ +{ + "title": "Get SecurityPolicy", + "operationId": "SecurityPoliciesInterface_Get", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1" + }, + "responses": { + "200": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPatch.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPatch.json new file mode 100644 index 000000000000..fbb8f7672c98 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPatch.json @@ -0,0 +1,35 @@ +{ + "title": "Update SecurityPolicy", + "operationId": "SecurityPoliciesInterface_Update", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1", + "properties": { + "properties": { + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPut.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPut.json new file mode 100644 index 000000000000..b28178d79320 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/SecurityPolicyPut.json @@ -0,0 +1,51 @@ +{ + "title": "Put SecurityPolicy", + "operationId": "SecurityPoliciesInterface_CreateOrUpdate", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "securityPolicyName": "sp1", + "resource": { + "location": "NorthCentralUS", + "properties": { + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "waf-0", + "type": "Microsoft.ServiceNetworking/trafficControllers/securityPolicies", + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/sample-tc/securityPolicies/waf-0", + "location": "eastus", + "properties": { + "policyType": "waf", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Networking/applicationGatewayWebApplicationFirewallPolicies/wp-0" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerDelete.json new file mode 100644 index 000000000000..3731d45552ce --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete Traffic Controller", + "operationId": "TrafficControllerInterface_Delete", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 3, + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1" + } + }, + "204": {} + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerGet.json new file mode 100644 index 000000000000..be47be64ee87 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerGet.json @@ -0,0 +1,39 @@ +{ + "operationId": "TrafficControllerInterface_Get", + "title": "Get Traffic Controller", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1" + }, + "responses": { + "200": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPatch.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPatch.json new file mode 100644 index 000000000000..7d0958ff0ae9 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPatch.json @@ -0,0 +1,54 @@ +{ + "operationId": "TrafficControllerInterface_Update", + "title": "Patch Traffic Controller", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "properties": { + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPut.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPut.json new file mode 100644 index 000000000000..cec3b9134458 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllerPut.json @@ -0,0 +1,92 @@ +{ + "operationId": "TrafficControllerInterface_CreateOrUpdate", + "title": "Put Traffic Controller", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "trafficControllerName": "tc1", + "resource": { + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGet.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGet.json new file mode 100644 index 000000000000..a144861b65f5 --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGet.json @@ -0,0 +1,52 @@ +{ + "operationId": "TrafficControllerInterface_ListByResourceGroup", + "title": "Get Traffic Controllers", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGetList.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGetList.json new file mode 100644 index 000000000000..bb220e3f510b --- /dev/null +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/examples/TrafficControllersGetList.json @@ -0,0 +1,51 @@ +{ + "operationId": "TrafficControllerInterface_ListBySubscription", + "title": "Get Traffic Controllers List", + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "tc1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1", + "type": "Microsoft.ServiceNetworking/trafficControllers", + "location": "NorthCentralUS", + "tags": { + "key1": "value1" + }, + "properties": { + "configurationEndpoints": [ + "abc.trafficcontroller.azure.net" + ], + "frontends": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/frontends/fe1" + } + ], + "associations": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/association/as1" + } + ], + "securityPolicies": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/sp1" + } + ], + "securityPolicyConfigurations": { + "wafSecurityPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ServiceNetworking/trafficControllers/tc1/securityPolicies/waf-0" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json index 7d217e5d8c65..4d2dab80fd7c 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json @@ -367,9 +367,6 @@ } ], "responses": { - "200": { - "description": "Resource deleted successfully." - }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -684,9 +681,6 @@ } ], "responses": { - "200": { - "description": "Resource deleted successfully." - }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -1001,9 +995,6 @@ } ], "responses": { - "200": { - "description": "Resource deleted successfully." - }, "202": { "description": "Resource deletion accepted.", "headers": { @@ -1129,12 +1120,20 @@ }, "AssociationType": { "type": "string", + "description": "Association Type Enum", "enum": [ "subnets" ], "x-ms-enum": { "name": "AssociationType", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "subnets", + "value": "subnets", + "description": "Association of Type Subnet" + } + ] } }, "AssociationUpdate": { @@ -1170,7 +1169,7 @@ }, "Frontend": { "type": "object", - "description": "Frontend Subresource of Traffic Controller.", + "description": "Frontend Sub Resource of Traffic Controller.", "properties": { "properties": { "$ref": "#/definitions/FrontendProperties", @@ -1240,6 +1239,7 @@ }, "ProvisioningState": { "type": "string", + "description": "Resource Provisioning State Enum", "enum": [ "Provisioning", "Updating", @@ -1255,31 +1255,38 @@ "values": [ { "name": "Provisioning", - "value": "Provisioning" + "value": "Provisioning", + "description": "Resource in Provisioning State" }, { "name": "Updating", - "value": "Updating" + "value": "Updating", + "description": "Resource in Updating State" }, { "name": "Deleting", - "value": "Deleting" + "value": "Deleting", + "description": "Resource in Deleting State" }, { "name": "Accepted", - "value": "Accepted" + "value": "Accepted", + "description": "Resource in Accepted State" }, { "name": "Succeeded", - "value": "Succeeded" + "value": "Succeeded", + "description": "Resource in Succeeded State" }, { "name": "Failed", - "value": "Failed" + "value": "Failed", + "description": "Resource in Failed State" }, { "name": "Canceled", - "value": "Canceled" + "value": "Canceled", + "description": "Resource in Canceled State" } ] } diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationDelete.json index 8312f438ad35..d67a519709e5 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationDelete.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/AssociationDelete.json @@ -9,7 +9,6 @@ "associationName": "as1" }, "responses": { - "200": {}, "202": { "headers": { "Retry-After": 3, diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendDelete.json index 16d61ab94ec1..08e0d5e826fb 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendDelete.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/FrontendDelete.json @@ -9,7 +9,6 @@ "frontendName": "fe1" }, "responses": { - "200": {}, "202": { "headers": { "Retry-After": 3, diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerDelete.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerDelete.json index add4d98ca164..3037ebf88cd8 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerDelete.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/examples/TrafficControllerDelete.json @@ -8,7 +8,6 @@ "trafficControllerName": "tc1" }, "responses": { - "200": {}, "202": { "headers": { "Retry-After": 3, diff --git a/specification/servicenetworking/resource-manager/readme.md b/specification/servicenetworking/resource-manager/readme.md index 9e5026ee51d6..5ae8687ba3f2 100644 --- a/specification/servicenetworking/resource-manager/readme.md +++ b/specification/servicenetworking/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the servicenetworking. ```yaml openapi-type: arm -tag: package-2023-11-01 +tag: 2024-05-01-preview +``` + +### Tag: package-2024-05-01-preview + +These settings apply only when `--tag=package-2024-05-01-preview` is specified on the command line. + +```yaml $(tag) == '2024-05-01-preview' +input-file: + - Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json ``` ### Tag: package-2023-11-01