diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json new file mode 100644 index 000000000000..669f9596cc67 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json new file mode 100644 index 000000000000..b5046815c4fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-04-01" + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json new file mode 100644 index 000000000000..e22d438644be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-04-01", + "parameters": { + "properties": { + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + }, + "201": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.4" + } + }, + { + "name": "address2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb" + }, + "ipAddress": "10.0.0.5" + } + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json new file mode 100644 index 000000000000..a4adbda522a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-04-01", + "parameters": { + "properties": { + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "networkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig1" + } + } + }, + { + "name": "address2", + "properties": { + "networkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig2" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "networkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig1" + } + } + }, + { + "name": "address2", + "properties": { + "networkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig2" + } + } + } + ] + } + } + }, + "201": { + "body": { + "name": "backend", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/backend", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "properties": { + "provisioningState": "Succeeded", + "loadBalancerBackendAddresses": [ + { + "name": "address1", + "properties": { + "networkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig1" + } + } + }, + { + "name": "address2", + "properties": { + "networkInterfaceIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/vnetlb/ipConfigurations/ipconfig2" + } + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json index a853d450a3af..4b9a888665ef 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json @@ -413,6 +413,9 @@ "x-ms-examples": { "LoadBalancerBackendAddressPoolList": { "$ref": "./examples/LoadBalancerBackendAddressPoolList.json" + }, + "Load balancer with BackendAddressPool containing BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json" } }, "x-ms-pageable": { @@ -473,7 +476,87 @@ "x-ms-examples": { "LoadBalancerBackendAddressPoolGet": { "$ref": "./examples/LoadBalancerBackendAddressPoolGet.json" + }, + "LoadBalancer with BackendAddressPool with BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_CreateOrUpdate", + "description": "Creates or updates a load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Parameters supplied to the create or update load balancer backend address pool operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } } + }, + "x-ms-examples": { + "Update load balancer backend pool with backend addresses containing virtual network and IP address.": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPut.json" + }, + "Update load balancer backend pool with backend addresses containing virtual network and IP address defined in network interfaces.": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPutWithNICIPConfiguration.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" } } }, @@ -1347,6 +1430,38 @@ ], "description": "Frontend IP address of the load balancer." }, + "LoadBalancerBackendAddressPropertiesFormat": { + "properties": { + "virtualNetwork": { + "$ref": "./virtualNetwork.json#/definitions/VirtualNetwork", + "description": "Reference to an existing virtual network." + }, + "ipAddress": { + "type": "string", + "description": "IP Address belonging to the referenced virtual network.", + "x-ms-azure-resource": false + }, + "networkInterfaceIPConfiguration": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "Reference to IP address defined in network interfaces." + } + }, + "description": "Properties of the load balancer backend addresses." + }, + "LoadBalancerBackendAddress": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerBackendAddressPropertiesFormat", + "description": "Properties of load balancer backend address pool." + }, + "name": { + "type": "string", + "description": "Name of the backend address." + } + }, + "description": "Load balancer backend addresses." + }, "BackendAddressPoolPropertiesFormat": { "properties": { "backendIPConfigurations": { @@ -1357,6 +1472,13 @@ }, "description": "An array of references to IP addresses defined in network interfaces." }, + "loadBalancerBackendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddress" + }, + "description": "An array of backend addresses." + }, "loadBalancingRules": { "readOnly": true, "type": "array",