From a4c81ffee2317c19a101dbab584ca5ce5f5bd7bf Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Fri, 31 Aug 2018 08:23:29 +0000 Subject: [PATCH] Generated from c19659d8b0bb85136a978c1ca1df397acac2c3d3 Adding linkedResourceType and hostedWorkloads to nic --- .../applicationGatewayBackendHealthServer.js | 2 + .../lib/models/azureFirewall.js | 21 +- .../models/azureFirewallIPConfiguration.js | 1 + .../lib/models/azureFirewallNatRCAction.js | 53 + .../lib/models/azureFirewallNatRule.js | 140 + .../models/azureFirewallNatRuleCollection.js | 123 + .../lib/models/inboundNatRule.js | 2 + .../networkManagement2/lib/models/index.d.ts | 2558 ++- .../networkManagement2/lib/models/index.js | 13 +- .../lib/models/networkInterface.js | 26 + .../models/networkInterfaceIPConfiguration.js | 17 + .../networkInterfaceTapConfiguration.js | 685 + ...workInterfaceTapConfigurationListResult.js | 68 + .../lib/models/virtualNetworkTap.js | 716 + .../lib/models/virtualNetworkTapListResult.js | 67 + .../lib/networkManagementClient.d.ts | 2 + .../lib/networkManagementClient.js | 2 + .../lib/operations/azureFirewalls.js | 42 +- .../lib/operations/index.d.ts | 16569 ++++++++++------ .../lib/operations/index.js | 2 + .../networkInterfaceTapConfigurations.js | 3696 ++++ .../lib/operations/networkInterfaces.js | 18 + .../lib/operations/virtualNetworkTaps.js | 4368 ++++ 23 files changed, 22222 insertions(+), 6969 deletions(-) create mode 100644 lib/services/networkManagement2/lib/models/azureFirewallNatRCAction.js create mode 100644 lib/services/networkManagement2/lib/models/azureFirewallNatRule.js create mode 100644 lib/services/networkManagement2/lib/models/azureFirewallNatRuleCollection.js create mode 100644 lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js create mode 100644 lib/services/networkManagement2/lib/models/networkInterfaceTapConfigurationListResult.js create mode 100644 lib/services/networkManagement2/lib/models/virtualNetworkTap.js create mode 100644 lib/services/networkManagement2/lib/models/virtualNetworkTapListResult.js create mode 100644 lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js create mode 100644 lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js index 4a00fe5b68..9fa0738be7 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js @@ -22,6 +22,8 @@ class ApplicationGatewayBackendHealthServer { * @member {string} [address] IP address or FQDN of backend server. * @member {object} [ipConfiguration] Reference of IP configuration of * backend server. + * @member {array} [ipConfiguration.virtualNetworkTaps] The reference to + * Virtual Network Taps. * @member {array} [ipConfiguration.applicationGatewayBackendAddressPools] * The reference of ApplicationGatewayBackendAddressPool resource. * @member {array} [ipConfiguration.loadBalancerBackendAddressPools] The diff --git a/lib/services/networkManagement2/lib/models/azureFirewall.js b/lib/services/networkManagement2/lib/models/azureFirewall.js index 977817bd58..982cc239e2 100644 --- a/lib/services/networkManagement2/lib/models/azureFirewall.js +++ b/lib/services/networkManagement2/lib/models/azureFirewall.js @@ -21,9 +21,11 @@ class AzureFirewall extends models['Resource'] { /** * Create a AzureFirewall. * @member {array} [applicationRuleCollections] Collection of application - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. + * @member {array} [natRuleCollections] Collection of NAT rule collections + * used by Azure Firewall. * @member {array} [networkRuleCollections] Collection of network rule - * collections used by a Azure Firewall. + * collections used by Azure Firewall. * @member {array} [ipConfigurations] IP configuration of the Azure Firewall * resource. * @member {string} [provisioningState] The provisioning state of the @@ -109,6 +111,21 @@ class AzureFirewall extends models['Resource'] { } } }, + natRuleCollections: { + required: false, + serializedName: 'properties.natRuleCollections', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AzureFirewallNatRuleCollectionElementType', + type: { + name: 'Composite', + className: 'AzureFirewallNatRuleCollection' + } + } + } + }, networkRuleCollections: { required: false, serializedName: 'properties.networkRuleCollections', diff --git a/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js b/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js index d44eac00fa..193f98b5a0 100644 --- a/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js @@ -100,6 +100,7 @@ class AzureFirewallIPConfiguration extends models['SubResource'] { }, etag: { required: false, + readOnly: true, serializedName: 'etag', type: { name: 'String' diff --git a/lib/services/networkManagement2/lib/models/azureFirewallNatRCAction.js b/lib/services/networkManagement2/lib/models/azureFirewallNatRCAction.js new file mode 100644 index 0000000000..7a5a98f310 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallNatRCAction.js @@ -0,0 +1,53 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * AzureFirewall NAT Rule Collection Action. + * + */ +class AzureFirewallNatRCAction { + /** + * Create a AzureFirewallNatRCAction. + * @member {string} [type] The type of action. Possible values include: + * 'Snat', 'Dnat' + */ + constructor() { + } + + /** + * Defines the metadata of AzureFirewallNatRCAction + * + * @returns {object} metadata of AzureFirewallNatRCAction + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallNatRCAction', + type: { + name: 'Composite', + className: 'AzureFirewallNatRCAction', + modelProperties: { + type: { + required: false, + serializedName: 'type', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallNatRCAction; diff --git a/lib/services/networkManagement2/lib/models/azureFirewallNatRule.js b/lib/services/networkManagement2/lib/models/azureFirewallNatRule.js new file mode 100644 index 0000000000..f85620e5f6 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallNatRule.js @@ -0,0 +1,140 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Properties of a NAT rule. + * + */ +class AzureFirewallNatRule { + /** + * Create a AzureFirewallNatRule. + * @member {string} [name] Name of the NAT rule. + * @member {string} [description] Description of the rule. + * @member {array} [sourceAddresses] List of source IP addresses for this + * rule. + * @member {array} [destinationAddresses] List of destination IP addresses + * for this rule. + * @member {array} [destinationPorts] List of destination ports. + * @member {array} [protocols] Array of AzureFirewallNetworkRuleProtocols + * applicable to this NAT rule. + * @member {string} [translatedAddress] The translated address for this NAT + * rule. + * @member {string} [translatedPort] The translated port for this NAT rule. + */ + constructor() { + } + + /** + * Defines the metadata of AzureFirewallNatRule + * + * @returns {object} metadata of AzureFirewallNatRule + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallNatRule', + type: { + name: 'Composite', + className: 'AzureFirewallNatRule', + modelProperties: { + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + description: { + required: false, + serializedName: 'description', + type: { + name: 'String' + } + }, + sourceAddresses: { + required: false, + serializedName: 'sourceAddresses', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + destinationAddresses: { + required: false, + serializedName: 'destinationAddresses', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + destinationPorts: { + required: false, + serializedName: 'destinationPorts', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + protocols: { + required: false, + serializedName: 'protocols', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AzureFirewallNetworkRuleProtocolElementType', + type: { + name: 'String' + } + } + } + }, + translatedAddress: { + required: false, + serializedName: 'translatedAddress', + type: { + name: 'String' + } + }, + translatedPort: { + required: false, + serializedName: 'translatedPort', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallNatRule; diff --git a/lib/services/networkManagement2/lib/models/azureFirewallNatRuleCollection.js b/lib/services/networkManagement2/lib/models/azureFirewallNatRuleCollection.js new file mode 100644 index 0000000000..2c17328930 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallNatRuleCollection.js @@ -0,0 +1,123 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * NAT rule collection resource + * + * @extends models['SubResource'] + */ +class AzureFirewallNatRuleCollection extends models['SubResource'] { + /** + * Create a AzureFirewallNatRuleCollection. + * @member {number} [priority] Priority of the NAT rule collection resource. + * @member {object} [action] The action type of a NAT rule collection + * @member {string} [action.type] The type of action. Possible values + * include: 'Snat', 'Dnat' + * @member {array} [rules] Collection of rules used by a NAT rule collection. + * @member {string} [provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * @member {string} [name] Gets name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] Gets a unique read-only string that changes + * whenever the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of AzureFirewallNatRuleCollection + * + * @returns {object} metadata of AzureFirewallNatRuleCollection + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallNatRuleCollection', + type: { + name: 'Composite', + className: 'AzureFirewallNatRuleCollection', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + priority: { + required: false, + serializedName: 'properties.priority', + constraints: { + InclusiveMaximum: 65000, + InclusiveMinimum: 100 + }, + type: { + name: 'Number' + } + }, + action: { + required: false, + serializedName: 'properties.action', + type: { + name: 'Composite', + className: 'AzureFirewallNatRCAction' + } + }, + rules: { + required: false, + serializedName: 'properties.rules', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AzureFirewallNatRuleElementType', + type: { + name: 'Composite', + className: 'AzureFirewallNatRule' + } + } + } + }, + provisioningState: { + required: false, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + etag: { + required: false, + readOnly: true, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallNatRuleCollection; diff --git a/lib/services/networkManagement2/lib/models/inboundNatRule.js b/lib/services/networkManagement2/lib/models/inboundNatRule.js index 7613e70e22..f42ad063f1 100644 --- a/lib/services/networkManagement2/lib/models/inboundNatRule.js +++ b/lib/services/networkManagement2/lib/models/inboundNatRule.js @@ -27,6 +27,8 @@ class InboundNatRule extends models['SubResource'] { * address defined on a network interface of a VM. Traffic sent to the * frontend port of each of the frontend IP configurations is forwarded to * the backend IP. + * @member {array} [backendIPConfiguration.virtualNetworkTaps] The reference + * to Virtual Network Taps. * @member {array} * [backendIPConfiguration.applicationGatewayBackendAddressPools] The * reference of ApplicationGatewayBackendAddressPool resource. diff --git a/lib/services/networkManagement2/lib/models/index.d.ts b/lib/services/networkManagement2/lib/models/index.d.ts index 3eaa1c07fb..62cd5e8961 100644 --- a/lib/services/networkManagement2/lib/models/index.d.ts +++ b/lib/services/networkManagement2/lib/models/index.d.ts @@ -30,324 +30,615 @@ export interface SubResource extends BaseResource { /** * @class - * Initializes a new instance of the BackendAddressPool class. - * @constructor - * Pool of backend IP addresses. - * - * @member {array} [backendIPConfigurations] Gets collection of references to - * IP addresses defined in network interfaces. - * @member {array} [loadBalancingRules] Gets load balancing rules that use this - * backend address pool. - * @member {object} [outboundRule] Gets outbound rules that use this backend - * address pool. - * @member {string} [outboundRule.id] Resource ID. - * @member {string} [provisioningState] Get provisioning state of the public IP - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @member {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @member {string} [etag] A unique read-only string that changes whenever the - * resource is updated. - */ -export interface BackendAddressPool extends SubResource { - readonly backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; - readonly loadBalancingRules?: SubResource[]; - readonly outboundRule?: SubResource; - provisioningState?: string; - name?: string; - etag?: string; -} - -/** - * @class - * Initializes a new instance of the InboundNatRule class. + * Initializes a new instance of the NetworkInterfaceTapConfiguration class. * @constructor - * Inbound NAT rule of the load balancer. + * Tap configuration in a Network Interface * - * @member {object} [frontendIPConfiguration] A reference to frontend IP - * addresses. - * @member {string} [frontendIPConfiguration.id] Resource ID. - * @member {object} [backendIPConfiguration] A reference to a private IP - * address defined on a network interface of a VM. Traffic sent to the frontend - * port of each of the frontend IP configurations is forwarded to the backend - * IP. + * @member {object} [virtualNetworkTap] The reference of the Virtual Network + * Tap resource. + * @member {array} [virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] The reference + * to the private IP Address of the collector nic that will receive the tap * @member {array} - * [backendIPConfiguration.applicationGatewayBackendAddressPools] The reference - * of ApplicationGatewayBackendAddressPool resource. - * @member {array} [backendIPConfiguration.loadBalancerBackendAddressPools] The - * reference of LoadBalancerBackendAddressPool resource. - * @member {array} [backendIPConfiguration.loadBalancerInboundNatRules] A list - * of references of LoadBalancerInboundNatRules. - * @member {string} [backendIPConfiguration.privateIPAddress] Private IP - * address of the IP configuration. - * @member {string} [backendIPConfiguration.privateIPAllocationMethod] Defines - * how a private IP address is assigned. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @member {string} [backendIPConfiguration.privateIPAddressVersion] Available - * from Api-Version 2016-03-30 onwards, it represents whether the specific - * ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values - * are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' - * @member {object} [backendIPConfiguration.subnet] Subnet bound to the IP - * configuration. - * @member {string} [backendIPConfiguration.subnet.addressPrefix] The address - * prefix for the subnet. - * @member {array} [backendIPConfiguration.subnet.addressPrefixes] List of - * address prefixes for the subnet. - * @member {object} [backendIPConfiguration.subnet.networkSecurityGroup] The - * reference of the NetworkSecurityGroup resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * @member {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * @member {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] Subnet + * bound to the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] * The default security rules of network security group. * @member {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @member {array} [backendIPConfiguration.subnet.networkSecurityGroup.subnets] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.subnets] * A collection of references to subnets. * @member {string} - * [backendIPConfiguration.subnet.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * @member {string} - * [backendIPConfiguration.subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.subnet.networkSecurityGroup.etag] A - * unique read-only string that changes whenever the resource is updated. - * @member {object} [backendIPConfiguration.subnet.routeTable] The reference of - * the RouteTable resource. - * @member {array} [backendIPConfiguration.subnet.routeTable.routes] Collection - * of routes contained within a route table. - * @member {array} [backendIPConfiguration.subnet.routeTable.subnets] A - * collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. * @member {boolean} - * [backendIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets - * or sets whether to disable the routes learned by BGP on that route table. - * True means disable. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * @member {string} - * [backendIPConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', * 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.subnet.routeTable.etag] Gets a + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.etag] A * unique read-only string that changes whenever the resource is updated. - * @member {array} [backendIPConfiguration.subnet.serviceEndpoints] An array of - * service endpoints. - * @member {array} [backendIPConfiguration.subnet.serviceEndpointPolicies] An - * array of service endpoint policies. - * @member {array} [backendIPConfiguration.subnet.ipConfigurations] Gets an - * array of references to the network interface IP configurations using subnet. - * @member {array} [backendIPConfiguration.subnet.resourceNavigationLinks] Gets - * an array of references to the external resources using subnet. - * @member {string} [backendIPConfiguration.subnet.provisioningState] The - * provisioning state of the resource. - * @member {string} [backendIPConfiguration.subnet.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * @member {string} [backendIPConfiguration.subnet.etag] A unique read-only - * string that changes whenever the resource is updated. - * @member {boolean} [backendIPConfiguration.primary] Gets whether this is a - * primary customer address on the network interface. - * @member {object} [backendIPConfiguration.publicIPAddress] Public IP address - * bound to the IP configuration. - * @member {object} [backendIPConfiguration.publicIPAddress.sku] The public IP - * address SKU. - * @member {string} [backendIPConfiguration.publicIPAddress.sku.name] Name of a - * public IP address SKU. Possible values include: 'Basic', 'Standard' + * @member {boolean} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] Gets + * whether this is a primary customer address on the network interface. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * @member {string} - * [backendIPConfiguration.publicIPAddress.publicIPAllocationMethod] The public - * IP allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * @member {string} - * [backendIPConfiguration.publicIPAddress.publicIPAddressVersion] The public - * IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @member {object} [backendIPConfiguration.publicIPAddress.ipConfiguration] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] * The IP configuration associated with the public IP address. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] * The private IP address of the IP configuration. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] * The private IP allocation method. Possible values are 'Static' and * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * @member {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet] The - * reference of the subnet resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] * The address prefix for the subnet. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] * List of address prefixes for the subnet. * @member {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] * The reference of the NetworkSecurityGroup resource. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] * A collection of security rules of the network security group. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] * The default security rules of network security group. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] * A collection of references to network interfaces. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] * A collection of references to subnets. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] * The resource GUID property of the network security group resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] * The provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] * A unique read-only string that changes whenever the resource is updated. * @member {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] * The reference of the RouteTable resource. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] * Collection of routes contained within a route table. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] * A collection of references to subnets. * @member {boolean} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] * Gets or sets whether to disable the routes learned by BGP on that route * table. True means disable. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] * The provisioning state of the resource. Possible values are: 'Updating', * 'Deleting', and 'Failed'. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] * Gets a unique read-only string that changes whenever the resource is * updated. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] * An array of service endpoints. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] * An array of service endpoint policies. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] * Gets an array of references to the network interface IP configurations using * subnet. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] * Gets an array of references to the external resources using subnet. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] * The provisioning state of the resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] The - * name of the resource that is unique within a resource group. This name can - * be used to access the resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] A - * unique read-only string that changes whenever the resource is updated. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. * @member {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] The - * reference of the public IP resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] * Gets the provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.name] The name of - * the resource that is unique within a resource group. This name can be used - * to access the resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.etag] A unique - * read-only string that changes whenever the resource is updated. - * @member {object} [backendIPConfiguration.publicIPAddress.dnsSettings] The - * FQDN of the DNS record associated with the public IP address. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * @member {string} - * [backendIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] Gets or - * sets the Domain name label.The concatenation of the domain name label and - * the regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @member {string} [backendIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.fqdn] * Gets the FQDN, Fully qualified domain name of the A DNS record associated * with the public IP. This is the concatenation of the domainNameLabel and the * regionalized DNS zone. * @member {string} - * [backendIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] Gets or - * Sets the Reverse FQDN. A user-visible, fully qualified domain name that - * resolves to this public IP address. If the reverseFqdn is specified, then a - * PTR DNS record is created pointing from the IP address in the in-addr.arpa - * domain to the reverse FQDN. - * @member {array} [backendIPConfiguration.publicIPAddress.ipTags] The list of - * tags associated with the public IP address. - * @member {string} [backendIPConfiguration.publicIPAddress.ipAddress] The IP - * address associated with the public IP address resource. - * @member {object} [backendIPConfiguration.publicIPAddress.publicIPPrefix] The - * Public IP Prefix this Public IP Address should be allocated from. - * @member {string} [backendIPConfiguration.publicIPAddress.publicIPPrefix.id] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix.id] * Resource ID. * @member {number} - * [backendIPConfiguration.publicIPAddress.idleTimeoutInMinutes] The idle - * timeout of the public IP address. - * @member {string} [backendIPConfiguration.publicIPAddress.resourceGuid] The - * resource GUID property of the public IP resource. - * @member {string} [backendIPConfiguration.publicIPAddress.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.provisioningState] * The provisioning state of the PublicIP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.publicIPAddress.etag] A unique - * read-only string that changes whenever the resource is updated. - * @member {array} [backendIPConfiguration.publicIPAddress.zones] A list of - * availability zones denoting the IP allocated for the resource needs to come - * from. - * @member {array} [backendIPConfiguration.applicationSecurityGroups] + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] * Application security groups in which the IP configuration is included. - * @member {string} [backendIPConfiguration.provisioningState] The provisioning - * state of the network interface IP configuration. Possible values are: + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] The name + * of the resource that is unique within a resource group. This name can be + * used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] The + * reference to the private IP address on the internal Load Balancer that will + * receive the tap + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatRules] + * Read only. Inbound rules URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatPools] + * Read only. Inbound pools URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.outboundRules] + * Read only. Outbound rules URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.loadBalancingRules] + * Gets load balancing rules URIs that use this frontend IP. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.name] The name of the resource that - * is unique within a resource group. This name can be used to access the - * resource. - * @member {string} [backendIPConfiguration.etag] A unique read-only string + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] A + * list of availability zones denoting the IP allocated for the resource needs + * to come from. + * @member {number} [virtualNetworkTap.destinationPort] The VXLAN destination + * port that will receive the tapped traffic. + * @member {string} [virtualNetworkTap.etag] Gets a unique read-only string * that changes whenever the resource is updated. - * @member {string} [protocol] Possible values include: 'Udp', 'Tcp', 'All' - * @member {number} [frontendPort] The port for the external endpoint. Port - * numbers for each rule must be unique within the Load Balancer. Acceptable - * values range from 1 to 65534. - * @member {number} [backendPort] The port used for the internal endpoint. - * Acceptable values range from 1 to 65535. - * @member {number} [idleTimeoutInMinutes] The timeout for the TCP idle - * connection. The value can be set between 4 and 30 minutes. The default value - * is 4 minutes. This element is only used when the protocol is set to TCP. - * @member {boolean} [enableFloatingIP] Configures a virtual machine's endpoint - * for the floating IP capability required to configure a SQL AlwaysOn - * Availability Group. This setting is required when using the SQL AlwaysOn - * Availability Groups in SQL server. This setting can't be changed after you - * create the endpoint. - * @member {boolean} [enableTcpReset] Receive bidirectional TCP Reset on TCP - * flow idle timeout or unexpected connection termination. This element is only - * used when the protocol is set to TCP. - * @member {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [name] Gets name of the resource that is unique within a + * @member {string} [name] The name of the resource that is unique within a * resource group. This name can be used to access the resource. * @member {string} [etag] A unique read-only string that changes whenever the * resource is updated. + * @member {string} [type] Sub Resource type. */ -export interface InboundNatRule extends SubResource { - frontendIPConfiguration?: SubResource; - readonly backendIPConfiguration?: NetworkInterfaceIPConfiguration; - protocol?: string; - frontendPort?: number; - backendPort?: number; - idleTimeoutInMinutes?: number; - enableFloatingIP?: boolean; - enableTcpReset?: boolean; - provisioningState?: string; +export interface NetworkInterfaceTapConfiguration extends SubResource { + virtualNetworkTap?: VirtualNetworkTap; name?: string; etag?: string; + readonly type?: string; } /** @@ -545,6 +836,10 @@ export interface NetworkInterfaceDnsSettings { * accelerated networking enabled. * @member {boolean} [enableIPForwarding] Indicates whether IP forwarding is * enabled on this network interface. + * @member {array} [hostedWorkloads] A list of references to linked BareMetal + * resources + * @member {string} [linkedResourceType] The type of resource to be linked to + * this network interface * @member {string} [resourceGuid] The resource GUID property of the network * interface resource. * @member {string} [provisioningState] The provisioning state of the public IP @@ -561,6 +856,8 @@ export interface NetworkInterface extends Resource { primary?: boolean; enableAcceleratedNetworking?: boolean; enableIPForwarding?: boolean; + readonly hostedWorkloads?: string[]; + linkedResourceType?: string; resourceGuid?: string; provisioningState?: string; etag?: string; @@ -936,180 +1233,1318 @@ export interface PublicIPAddress extends Resource { * @member {string} [subnet.networkSecurityGroup.provisioningState] The * provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [subnet.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * @member {object} [subnet.routeTable] The reference of the RouteTable + * @member {string} [subnet.networkSecurityGroup.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {object} [subnet.routeTable] The reference of the RouteTable + * resource. + * @member {array} [subnet.routeTable.routes] Collection of routes contained + * within a route table. + * @member {array} [subnet.routeTable.subnets] A collection of references to + * subnets. + * @member {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or + * sets whether to disable the routes learned by BGP on that route table. True + * means disable. + * @member {string} [subnet.routeTable.provisioningState] The provisioning + * state of the resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [subnet.routeTable.etag] Gets a unique read-only string + * that changes whenever the resource is updated. + * @member {array} [subnet.serviceEndpoints] An array of service endpoints. + * @member {array} [subnet.serviceEndpointPolicies] An array of service + * endpoint policies. + * @member {array} [subnet.ipConfigurations] Gets an array of references to the + * network interface IP configurations using subnet. + * @member {array} [subnet.resourceNavigationLinks] Gets an array of references + * to the external resources using subnet. + * @member {string} [subnet.provisioningState] The provisioning state of the + * resource. + * @member {string} [subnet.name] The name of the resource that is unique + * within a resource group. This name can be used to access the resource. + * @member {string} [subnet.etag] A unique read-only string that changes + * whenever the resource is updated. + * @member {object} [publicIPAddress] The reference of the public IP resource. + * @member {object} [publicIPAddress.sku] The public IP address SKU. + * @member {string} [publicIPAddress.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' + * @member {string} [publicIPAddress.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' + * @member {string} [publicIPAddress.publicIPAddressVersion] The public IP + * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values + * include: 'IPv4', 'IPv6' + * @member {object} [publicIPAddress.ipConfiguration] The IP configuration + * associated with the public IP address. + * @member {object} [publicIPAddress.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. + * @member {string} [publicIPAddress.dnsSettings.domainNameLabel] Gets or sets + * the Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. + * @member {string} [publicIPAddress.dnsSettings.fqdn] Gets the FQDN, Fully + * qualified domain name of the A DNS record associated with the public IP. + * This is the concatenation of the domainNameLabel and the regionalized DNS + * zone. + * @member {string} [publicIPAddress.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. + * @member {array} [publicIPAddress.ipTags] The list of tags associated with + * the public IP address. + * @member {string} [publicIPAddress.ipAddress] The IP address associated with + * the public IP address resource. + * @member {object} [publicIPAddress.publicIPPrefix] The Public IP Prefix this + * Public IP Address should be allocated from. + * @member {string} [publicIPAddress.publicIPPrefix.id] Resource ID. + * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout of + * the public IP address. + * @member {string} [publicIPAddress.resourceGuid] The resource GUID property + * of the public IP resource. + * @member {string} [publicIPAddress.provisioningState] The provisioning state + * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [publicIPAddress.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {array} [publicIPAddress.zones] A list of availability zones + * denoting the IP allocated for the resource needs to come from. + * @member {string} [provisioningState] Gets the provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [name] The name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + */ +export interface IPConfiguration extends SubResource { + privateIPAddress?: string; + privateIPAllocationMethod?: string; + subnet?: Subnet; + publicIPAddress?: PublicIPAddress; + provisioningState?: string; + name?: string; + etag?: string; +} + +/** + * @class + * Initializes a new instance of the ResourceNavigationLink class. + * @constructor + * ResourceNavigationLink resource. + * + * @member {string} [linkedResourceType] Resource type of the linked resource. + * @member {string} [link] Link to the external resource + * @member {string} [provisioningState] Provisioning state of the + * ResourceNavigationLink resource. + * @member {string} [name] Name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + */ +export interface ResourceNavigationLink extends SubResource { + linkedResourceType?: string; + link?: string; + readonly provisioningState?: string; + name?: string; + readonly etag?: string; +} + +/** + * @class + * Initializes a new instance of the Subnet class. + * @constructor + * Subnet in a virtual network resource. + * + * @member {string} [addressPrefix] The address prefix for the subnet. + * @member {array} [addressPrefixes] List of address prefixes for the subnet. + * @member {object} [networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * @member {array} [networkSecurityGroup.securityRules] A collection of + * security rules of the network security group. + * @member {array} [networkSecurityGroup.defaultSecurityRules] The default + * security rules of network security group. + * @member {array} [networkSecurityGroup.networkInterfaces] A collection of + * references to network interfaces. + * @member {array} [networkSecurityGroup.subnets] A collection of references to + * subnets. + * @member {string} [networkSecurityGroup.resourceGuid] The resource GUID + * property of the network security group resource. + * @member {string} [networkSecurityGroup.provisioningState] The provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [networkSecurityGroup.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {object} [routeTable] The reference of the RouteTable resource. + * @member {array} [routeTable.routes] Collection of routes contained within a + * route table. + * @member {array} [routeTable.subnets] A collection of references to subnets. + * @member {boolean} [routeTable.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. + * @member {string} [routeTable.provisioningState] The provisioning state of + * the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} [routeTable.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * @member {array} [serviceEndpoints] An array of service endpoints. + * @member {array} [serviceEndpointPolicies] An array of service endpoint + * policies. + * @member {array} [ipConfigurations] Gets an array of references to the + * network interface IP configurations using subnet. + * @member {array} [resourceNavigationLinks] Gets an array of references to the + * external resources using subnet. + * @member {string} [provisioningState] The provisioning state of the resource. + * @member {string} [name] The name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + */ +export interface Subnet extends SubResource { + addressPrefix?: string; + addressPrefixes?: string[]; + networkSecurityGroup?: NetworkSecurityGroup; + routeTable?: RouteTable; + serviceEndpoints?: ServiceEndpointPropertiesFormat[]; + serviceEndpointPolicies?: ServiceEndpointPolicy[]; + readonly ipConfigurations?: IPConfiguration[]; + resourceNavigationLinks?: ResourceNavigationLink[]; + provisioningState?: string; + name?: string; + etag?: string; +} + +/** + * @class + * Initializes a new instance of the FrontendIPConfiguration class. + * @constructor + * Frontend IP address of the load balancer. + * + * @member {array} [inboundNatRules] Read only. Inbound rules URIs that use + * this frontend IP. + * @member {array} [inboundNatPools] Read only. Inbound pools URIs that use + * this frontend IP. + * @member {array} [outboundRules] Read only. Outbound rules URIs that use this + * frontend IP. + * @member {array} [loadBalancingRules] Gets load balancing rules URIs that use + * this frontend IP. + * @member {string} [privateIPAddress] The private IP address of the IP + * configuration. + * @member {string} [privateIPAllocationMethod] The Private IP allocation + * method. Possible values are: 'Static' and 'Dynamic'. Possible values + * include: 'Static', 'Dynamic' + * @member {object} [subnet] The reference of the subnet resource. + * @member {string} [subnet.addressPrefix] The address prefix for the subnet. + * @member {array} [subnet.addressPrefixes] List of address prefixes for the + * subnet. + * @member {object} [subnet.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * @member {array} [subnet.networkSecurityGroup.securityRules] A collection of + * security rules of the network security group. + * @member {array} [subnet.networkSecurityGroup.defaultSecurityRules] The + * default security rules of network security group. + * @member {array} [subnet.networkSecurityGroup.networkInterfaces] A collection + * of references to network interfaces. + * @member {array} [subnet.networkSecurityGroup.subnets] A collection of + * references to subnets. + * @member {string} [subnet.networkSecurityGroup.resourceGuid] The resource + * GUID property of the network security group resource. + * @member {string} [subnet.networkSecurityGroup.provisioningState] The + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [subnet.networkSecurityGroup.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {object} [subnet.routeTable] The reference of the RouteTable + * resource. + * @member {array} [subnet.routeTable.routes] Collection of routes contained + * within a route table. + * @member {array} [subnet.routeTable.subnets] A collection of references to + * subnets. + * @member {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or + * sets whether to disable the routes learned by BGP on that route table. True + * means disable. + * @member {string} [subnet.routeTable.provisioningState] The provisioning + * state of the resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [subnet.routeTable.etag] Gets a unique read-only string + * that changes whenever the resource is updated. + * @member {array} [subnet.serviceEndpoints] An array of service endpoints. + * @member {array} [subnet.serviceEndpointPolicies] An array of service + * endpoint policies. + * @member {array} [subnet.ipConfigurations] Gets an array of references to the + * network interface IP configurations using subnet. + * @member {array} [subnet.resourceNavigationLinks] Gets an array of references + * to the external resources using subnet. + * @member {string} [subnet.provisioningState] The provisioning state of the + * resource. + * @member {string} [subnet.name] The name of the resource that is unique + * within a resource group. This name can be used to access the resource. + * @member {string} [subnet.etag] A unique read-only string that changes + * whenever the resource is updated. + * @member {object} [publicIPAddress] The reference of the Public IP resource. + * @member {object} [publicIPAddress.sku] The public IP address SKU. + * @member {string} [publicIPAddress.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' + * @member {string} [publicIPAddress.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' + * @member {string} [publicIPAddress.publicIPAddressVersion] The public IP + * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values + * include: 'IPv4', 'IPv6' + * @member {object} [publicIPAddress.ipConfiguration] The IP configuration + * associated with the public IP address. + * @member {string} [publicIPAddress.ipConfiguration.privateIPAddress] The + * private IP address of the IP configuration. + * @member {string} [publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} [publicIPAddress.ipConfiguration.subnet] The reference of + * the subnet resource. + * @member {string} [publicIPAddress.ipConfiguration.subnet.addressPrefix] The + * address prefix for the subnet. + * @member {array} [publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] The reference + * of the NetworkSecurityGroup resource. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] A + * collection of references to subnets. + * @member {string} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} [publicIPAddress.ipConfiguration.subnet.routeTable] The + * reference of the RouteTable resource. + * @member {array} [publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} [publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} [publicIPAddress.ipConfiguration.subnet.serviceEndpoints] An + * array of service endpoints. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] An array of + * service endpoint policies. + * @member {array} [publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] Gets an + * array of references to the external resources using subnet. + * @member {string} [publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} [publicIPAddress.ipConfiguration.subnet.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * @member {string} [publicIPAddress.ipConfiguration.subnet.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} [publicIPAddress.ipConfiguration.publicIPAddress] The + * reference of the public IP resource. + * @member {string} [publicIPAddress.ipConfiguration.provisioningState] Gets + * the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.ipConfiguration.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * @member {string} [publicIPAddress.ipConfiguration.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {object} [publicIPAddress.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. + * @member {string} [publicIPAddress.dnsSettings.domainNameLabel] Gets or sets + * the Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. + * @member {string} [publicIPAddress.dnsSettings.fqdn] Gets the FQDN, Fully + * qualified domain name of the A DNS record associated with the public IP. + * This is the concatenation of the domainNameLabel and the regionalized DNS + * zone. + * @member {string} [publicIPAddress.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. + * @member {array} [publicIPAddress.ipTags] The list of tags associated with + * the public IP address. + * @member {string} [publicIPAddress.ipAddress] The IP address associated with + * the public IP address resource. + * @member {object} [publicIPAddress.publicIPPrefix] The Public IP Prefix this + * Public IP Address should be allocated from. + * @member {string} [publicIPAddress.publicIPPrefix.id] Resource ID. + * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout of + * the public IP address. + * @member {string} [publicIPAddress.resourceGuid] The resource GUID property + * of the public IP resource. + * @member {string} [publicIPAddress.provisioningState] The provisioning state + * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [publicIPAddress.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {array} [publicIPAddress.zones] A list of availability zones + * denoting the IP allocated for the resource needs to come from. + * @member {object} [publicIPPrefix] The reference of the Public IP Prefix + * resource. + * @member {string} [publicIPPrefix.id] Resource ID. + * @member {string} [provisioningState] Gets the provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [name] The name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + * @member {array} [zones] A list of availability zones denoting the IP + * allocated for the resource needs to come from. + */ +export interface FrontendIPConfiguration extends SubResource { + readonly inboundNatRules?: SubResource[]; + readonly inboundNatPools?: SubResource[]; + readonly outboundRules?: SubResource[]; + readonly loadBalancingRules?: SubResource[]; + privateIPAddress?: string; + privateIPAllocationMethod?: string; + subnet?: Subnet; + publicIPAddress?: PublicIPAddress; + publicIPPrefix?: SubResource; + provisioningState?: string; + name?: string; + etag?: string; + zones?: string[]; +} + +/** + * @class + * Initializes a new instance of the VirtualNetworkTap class. + * @constructor + * Virtual Network Tap resource + * + * @member {array} [networkInterfaceTapConfigurations] Specifies the list of + * resource IDs for the network interface IP configuration that needs to be + * tapped. + * @member {object} [destinationNetworkInterfaceIPConfiguration] The reference + * to the private IP Address of the collector nic that will receive the tap + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] The + * reference to Virtual Network Taps. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] A + * list of references of LoadBalancerInboundNatRules. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.privateIPAddress] Private IP + * address of the IP configuration. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * @member {object} [destinationNetworkInterfaceIPConfiguration.subnet] Subnet + * bound to the IP configuration. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.addressPrefix] The + * address prefix for the subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.addressPrefixes] List of + * address prefixes for the subnet. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup] The + * reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable] The reference + * of the RouteTable resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.subnets] A + * collection of references to subnets. + * @member {boolean} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpoints] An + * array of service endpoints. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurations] Gets an + * array of references to the network interface IP configurations using subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.provisioningState] The + * provisioning state of the resource. + * @member {string} [destinationNetworkInterfaceIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} [destinationNetworkInterfaceIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {boolean} [destinationNetworkInterfaceIPConfiguration.primary] Gets + * whether this is a primary customer address on the network interface. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress] Public IP + * address bound to the IP configuration. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku] The public + * IP address SKU. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku.name] Name + * of a public IP address SKU. Possible values include: 'Basic', 'Standard' + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings] The + * FQDN of the DNS record associated with the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] The list + * of tags associated with the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipAddress] The + * IP address associated with the public IP address resource. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.provisioningState] The + * provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} [destinationNetworkInterfaceIPConfiguration.name] The name + * of the resource that is unique within a resource group. This name can be + * used to access the resource. + * @member {string} [destinationNetworkInterfaceIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} [destinationLoadBalancerFrontEndIPConfiguration] The + * reference to the private IP address on the internal Load Balancer that will + * receive the tap + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.inboundNatRules] Read only. + * Inbound rules URIs that use this frontend IP. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.inboundNatPools] Read only. + * Inbound pools URIs that use this frontend IP. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.outboundRules] Read only. + * Outbound rules URIs that use this frontend IP. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.loadBalancingRules] Gets + * load balancing rules URIs that use this frontend IP. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] The + * private IP address of the IP configuration. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} [destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] The + * address prefix for the subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] List + * of address prefixes for the subnet. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] The + * reference of the RouteTable resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.subnets] A + * collection of references to subnets. + * @member {boolean} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] Gets + * a unique read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] An + * array of service endpoints. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] The + * reference of the Public IP resource. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] The + * public IP address SKU. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] The + * list of tags associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] A + * list of availability zones denoting the IP allocated for the resource needs + * to come from. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] The + * reference of the Public IP Prefix resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] Resource + * ID. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.provisioningState] Gets the + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [destinationLoadBalancerFrontEndIPConfiguration.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} [destinationLoadBalancerFrontEndIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} [destinationLoadBalancerFrontEndIPConfiguration.zones] A + * list of availability zones denoting the IP allocated for the resource needs + * to come from. + * @member {number} [destinationPort] The VXLAN destination port that will + * receive the tapped traffic. + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. + */ +export interface VirtualNetworkTap extends Resource { + networkInterfaceTapConfigurations?: NetworkInterfaceTapConfiguration[]; + destinationNetworkInterfaceIPConfiguration?: NetworkInterfaceIPConfiguration; + destinationLoadBalancerFrontEndIPConfiguration?: FrontendIPConfiguration; + destinationPort?: number; + etag?: string; +} + +/** + * @class + * Initializes a new instance of the BackendAddressPool class. + * @constructor + * Pool of backend IP addresses. + * + * @member {array} [backendIPConfigurations] Gets collection of references to + * IP addresses defined in network interfaces. + * @member {array} [loadBalancingRules] Gets load balancing rules that use this + * backend address pool. + * @member {object} [outboundRule] Gets outbound rules that use this backend + * address pool. + * @member {string} [outboundRule.id] Resource ID. + * @member {string} [provisioningState] Get provisioning state of the public IP + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} [name] Gets name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + */ +export interface BackendAddressPool extends SubResource { + readonly backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; + readonly loadBalancingRules?: SubResource[]; + readonly outboundRule?: SubResource; + provisioningState?: string; + name?: string; + etag?: string; +} + +/** + * @class + * Initializes a new instance of the InboundNatRule class. + * @constructor + * Inbound NAT rule of the load balancer. + * + * @member {object} [frontendIPConfiguration] A reference to frontend IP + * addresses. + * @member {string} [frontendIPConfiguration.id] Resource ID. + * @member {object} [backendIPConfiguration] A reference to a private IP + * address defined on a network interface of a VM. Traffic sent to the frontend + * port of each of the frontend IP configurations is forwarded to the backend + * IP. + * @member {array} [backendIPConfiguration.virtualNetworkTaps] The reference to + * Virtual Network Taps. + * @member {array} + * [backendIPConfiguration.applicationGatewayBackendAddressPools] The reference + * of ApplicationGatewayBackendAddressPool resource. + * @member {array} [backendIPConfiguration.loadBalancerBackendAddressPools] The + * reference of LoadBalancerBackendAddressPool resource. + * @member {array} [backendIPConfiguration.loadBalancerInboundNatRules] A list + * of references of LoadBalancerInboundNatRules. + * @member {string} [backendIPConfiguration.privateIPAddress] Private IP + * address of the IP configuration. + * @member {string} [backendIPConfiguration.privateIPAllocationMethod] Defines + * how a private IP address is assigned. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} [backendIPConfiguration.privateIPAddressVersion] Available + * from Api-Version 2016-03-30 onwards, it represents whether the specific + * ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values + * are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + * @member {object} [backendIPConfiguration.subnet] Subnet bound to the IP + * configuration. + * @member {string} [backendIPConfiguration.subnet.addressPrefix] The address + * prefix for the subnet. + * @member {array} [backendIPConfiguration.subnet.addressPrefixes] List of + * address prefixes for the subnet. + * @member {object} [backendIPConfiguration.subnet.networkSecurityGroup] The + * reference of the NetworkSecurityGroup resource. + * @member {array} + * [backendIPConfiguration.subnet.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * @member {array} + * [backendIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [backendIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] A + * collection of references to network interfaces. + * @member {array} [backendIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [backendIPConfiguration.subnet.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * @member {string} + * [backendIPConfiguration.subnet.networkSecurityGroup.provisioningState] The + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [backendIPConfiguration.subnet.networkSecurityGroup.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {object} [backendIPConfiguration.subnet.routeTable] The reference of + * the RouteTable resource. + * @member {array} [backendIPConfiguration.subnet.routeTable.routes] Collection + * of routes contained within a route table. + * @member {array} [backendIPConfiguration.subnet.routeTable.subnets] A + * collection of references to subnets. + * @member {boolean} + * [backendIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets + * or sets whether to disable the routes learned by BGP on that route table. + * True means disable. + * @member {string} + * [backendIPConfiguration.subnet.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [backendIPConfiguration.subnet.routeTable.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * @member {array} [backendIPConfiguration.subnet.serviceEndpoints] An array of + * service endpoints. + * @member {array} [backendIPConfiguration.subnet.serviceEndpointPolicies] An + * array of service endpoint policies. + * @member {array} [backendIPConfiguration.subnet.ipConfigurations] Gets an + * array of references to the network interface IP configurations using subnet. + * @member {array} [backendIPConfiguration.subnet.resourceNavigationLinks] Gets + * an array of references to the external resources using subnet. + * @member {string} [backendIPConfiguration.subnet.provisioningState] The + * provisioning state of the resource. + * @member {string} [backendIPConfiguration.subnet.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * @member {string} [backendIPConfiguration.subnet.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {boolean} [backendIPConfiguration.primary] Gets whether this is a + * primary customer address on the network interface. + * @member {object} [backendIPConfiguration.publicIPAddress] Public IP address + * bound to the IP configuration. + * @member {object} [backendIPConfiguration.publicIPAddress.sku] The public IP + * address SKU. + * @member {string} [backendIPConfiguration.publicIPAddress.sku.name] Name of a + * public IP address SKU. Possible values include: 'Basic', 'Standard' + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPAllocationMethod] The public + * IP allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPAddressVersion] The public + * IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible values + * include: 'IPv4', 'IPv6' + * @member {object} [backendIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet] The + * reference of the subnet resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {object} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] The + * reference of the public IP resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} [backendIPConfiguration.publicIPAddress.dnsSettings] The + * FQDN of the DNS record associated with the public IP address. + * @member {string} + * [backendIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] Gets or + * sets the Domain name label.The concatenation of the domain name label and + * the regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. + * @member {string} [backendIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * @member {string} + * [backendIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] Gets or + * Sets the Reverse FQDN. A user-visible, fully qualified domain name that + * resolves to this public IP address. If the reverseFqdn is specified, then a + * PTR DNS record is created pointing from the IP address in the in-addr.arpa + * domain to the reverse FQDN. + * @member {array} [backendIPConfiguration.publicIPAddress.ipTags] The list of + * tags associated with the public IP address. + * @member {string} [backendIPConfiguration.publicIPAddress.ipAddress] The IP + * address associated with the public IP address resource. + * @member {object} [backendIPConfiguration.publicIPAddress.publicIPPrefix] The + * Public IP Prefix this Public IP Address should be allocated from. + * @member {string} [backendIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [backendIPConfiguration.publicIPAddress.idleTimeoutInMinutes] The idle + * timeout of the public IP address. + * @member {string} [backendIPConfiguration.publicIPAddress.resourceGuid] The + * resource GUID property of the public IP resource. + * @member {string} [backendIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [backendIPConfiguration.publicIPAddress.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {array} [backendIPConfiguration.publicIPAddress.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * @member {array} [backendIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * @member {string} [backendIPConfiguration.provisioningState] The provisioning + * state of the network interface IP configuration. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [backendIPConfiguration.name] The name of the resource that + * is unique within a resource group. This name can be used to access the * resource. - * @member {array} [subnet.routeTable.routes] Collection of routes contained - * within a route table. - * @member {array} [subnet.routeTable.subnets] A collection of references to - * subnets. - * @member {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @member {string} [subnet.routeTable.provisioningState] The provisioning - * state of the resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [subnet.routeTable.etag] Gets a unique read-only string + * @member {string} [backendIPConfiguration.etag] A unique read-only string * that changes whenever the resource is updated. - * @member {array} [subnet.serviceEndpoints] An array of service endpoints. - * @member {array} [subnet.serviceEndpointPolicies] An array of service - * endpoint policies. - * @member {array} [subnet.ipConfigurations] Gets an array of references to the - * network interface IP configurations using subnet. - * @member {array} [subnet.resourceNavigationLinks] Gets an array of references - * to the external resources using subnet. - * @member {string} [subnet.provisioningState] The provisioning state of the - * resource. - * @member {string} [subnet.name] The name of the resource that is unique - * within a resource group. This name can be used to access the resource. - * @member {string} [subnet.etag] A unique read-only string that changes - * whenever the resource is updated. - * @member {object} [publicIPAddress] The reference of the public IP resource. - * @member {object} [publicIPAddress.sku] The public IP address SKU. - * @member {string} [publicIPAddress.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' - * @member {string} [publicIPAddress.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @member {string} [publicIPAddress.publicIPAddressVersion] The public IP - * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @member {object} [publicIPAddress.ipConfiguration] The IP configuration - * associated with the public IP address. - * @member {object} [publicIPAddress.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. - * @member {string} [publicIPAddress.dnsSettings.domainNameLabel] Gets or sets - * the Domain name label.The concatenation of the domain name label and the - * regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @member {string} [publicIPAddress.dnsSettings.fqdn] Gets the FQDN, Fully - * qualified domain name of the A DNS record associated with the public IP. - * This is the concatenation of the domainNameLabel and the regionalized DNS - * zone. - * @member {string} [publicIPAddress.dnsSettings.reverseFqdn] Gets or Sets the - * Reverse FQDN. A user-visible, fully qualified domain name that resolves to - * this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. - * @member {array} [publicIPAddress.ipTags] The list of tags associated with - * the public IP address. - * @member {string} [publicIPAddress.ipAddress] The IP address associated with - * the public IP address resource. - * @member {object} [publicIPAddress.publicIPPrefix] The Public IP Prefix this - * Public IP Address should be allocated from. - * @member {string} [publicIPAddress.publicIPPrefix.id] Resource ID. - * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout of - * the public IP address. - * @member {string} [publicIPAddress.resourceGuid] The resource GUID property - * of the public IP resource. - * @member {string} [publicIPAddress.provisioningState] The provisioning state - * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [publicIPAddress.etag] A unique read-only string that - * changes whenever the resource is updated. - * @member {array} [publicIPAddress.zones] A list of availability zones - * denoting the IP allocated for the resource needs to come from. + * @member {string} [protocol] Possible values include: 'Udp', 'Tcp', 'All' + * @member {number} [frontendPort] The port for the external endpoint. Port + * numbers for each rule must be unique within the Load Balancer. Acceptable + * values range from 1 to 65534. + * @member {number} [backendPort] The port used for the internal endpoint. + * Acceptable values range from 1 to 65535. + * @member {number} [idleTimeoutInMinutes] The timeout for the TCP idle + * connection. The value can be set between 4 and 30 minutes. The default value + * is 4 minutes. This element is only used when the protocol is set to TCP. + * @member {boolean} [enableFloatingIP] Configures a virtual machine's endpoint + * for the floating IP capability required to configure a SQL AlwaysOn + * Availability Group. This setting is required when using the SQL AlwaysOn + * Availability Groups in SQL server. This setting can't be changed after you + * create the endpoint. + * @member {boolean} [enableTcpReset] Receive bidirectional TCP Reset on TCP + * flow idle timeout or unexpected connection termination. This element is only + * used when the protocol is set to TCP. * @member {string} [provisioningState] Gets the provisioning state of the * public IP resource. Possible values are: 'Updating', 'Deleting', and * 'Failed'. - * @member {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @member {string} [etag] A unique read-only string that changes whenever the - * resource is updated. - */ -export interface IPConfiguration extends SubResource { - privateIPAddress?: string; - privateIPAllocationMethod?: string; - subnet?: Subnet; - publicIPAddress?: PublicIPAddress; - provisioningState?: string; - name?: string; - etag?: string; -} - -/** - * @class - * Initializes a new instance of the ResourceNavigationLink class. - * @constructor - * ResourceNavigationLink resource. - * - * @member {string} [linkedResourceType] Resource type of the linked resource. - * @member {string} [link] Link to the external resource - * @member {string} [provisioningState] Provisioning state of the - * ResourceNavigationLink resource. - * @member {string} [name] Name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @member {string} [etag] A unique read-only string that changes whenever the - * resource is updated. - */ -export interface ResourceNavigationLink extends SubResource { - linkedResourceType?: string; - link?: string; - readonly provisioningState?: string; - name?: string; - readonly etag?: string; -} - -/** - * @class - * Initializes a new instance of the Subnet class. - * @constructor - * Subnet in a virtual network resource. - * - * @member {string} [addressPrefix] The address prefix for the subnet. - * @member {array} [addressPrefixes] List of address prefixes for the subnet. - * @member {object} [networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @member {array} [networkSecurityGroup.securityRules] A collection of - * security rules of the network security group. - * @member {array} [networkSecurityGroup.defaultSecurityRules] The default - * security rules of network security group. - * @member {array} [networkSecurityGroup.networkInterfaces] A collection of - * references to network interfaces. - * @member {array} [networkSecurityGroup.subnets] A collection of references to - * subnets. - * @member {string} [networkSecurityGroup.resourceGuid] The resource GUID - * property of the network security group resource. - * @member {string} [networkSecurityGroup.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @member {string} [networkSecurityGroup.etag] A unique read-only string that - * changes whenever the resource is updated. - * @member {object} [routeTable] The reference of the RouteTable resource. - * @member {array} [routeTable.routes] Collection of routes contained within a - * route table. - * @member {array} [routeTable.subnets] A collection of references to subnets. - * @member {boolean} [routeTable.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * @member {string} [routeTable.provisioningState] The provisioning state of - * the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @member {string} [routeTable.etag] Gets a unique read-only string that - * changes whenever the resource is updated. - * @member {array} [serviceEndpoints] An array of service endpoints. - * @member {array} [serviceEndpointPolicies] An array of service endpoint - * policies. - * @member {array} [ipConfigurations] Gets an array of references to the - * network interface IP configurations using subnet. - * @member {array} [resourceNavigationLinks] Gets an array of references to the - * external resources using subnet. - * @member {string} [provisioningState] The provisioning state of the resource. - * @member {string} [name] The name of the resource that is unique within a + * @member {string} [name] Gets name of the resource that is unique within a * resource group. This name can be used to access the resource. * @member {string} [etag] A unique read-only string that changes whenever the * resource is updated. */ -export interface Subnet extends SubResource { - addressPrefix?: string; - addressPrefixes?: string[]; - networkSecurityGroup?: NetworkSecurityGroup; - routeTable?: RouteTable; - serviceEndpoints?: ServiceEndpointPropertiesFormat[]; - serviceEndpointPolicies?: ServiceEndpointPolicy[]; - readonly ipConfigurations?: IPConfiguration[]; - resourceNavigationLinks?: ResourceNavigationLink[]; +export interface InboundNatRule extends SubResource { + frontendIPConfiguration?: SubResource; + readonly backendIPConfiguration?: NetworkInterfaceIPConfiguration; + protocol?: string; + frontendPort?: number; + backendPort?: number; + idleTimeoutInMinutes?: number; + enableFloatingIP?: boolean; + enableTcpReset?: boolean; provisioningState?: string; name?: string; etag?: string; @@ -1121,6 +2556,7 @@ export interface Subnet extends SubResource { * @constructor * IPConfiguration in a network interface. * + * @member {array} [virtualNetworkTaps] The reference to Virtual Network Taps. * @member {array} [applicationGatewayBackendAddressPools] The reference of * ApplicationGatewayBackendAddressPool resource. * @member {array} [loadBalancerBackendAddressPools] The reference of @@ -1325,6 +2761,7 @@ export interface Subnet extends SubResource { * resource is updated. */ export interface NetworkInterfaceIPConfiguration extends SubResource { + virtualNetworkTaps?: VirtualNetworkTap[]; applicationGatewayBackendAddressPools?: ApplicationGatewayBackendAddressPool[]; loadBalancerBackendAddressPools?: BackendAddressPool[]; loadBalancerInboundNatRules?: InboundNatRule[]; @@ -1471,6 +2908,8 @@ export interface ApplicationGatewayBackendHttpSettings extends SubResource { * @member {string} [address] IP address or FQDN of backend server. * @member {object} [ipConfiguration] Reference of IP configuration of backend * server. + * @member {array} [ipConfiguration.virtualNetworkTaps] The reference to + * Virtual Network Taps. * @member {array} [ipConfiguration.applicationGatewayBackendAddressPools] The * reference of ApplicationGatewayBackendAddressPool resource. * @member {array} [ipConfiguration.loadBalancerBackendAddressPools] The @@ -2600,7 +4039,7 @@ export interface AzureFirewallIPConfiguration extends SubResource { publicIPAddress?: SubResource; provisioningState?: string; name?: string; - etag?: string; + readonly etag?: string; } /** @@ -2656,17 +4095,86 @@ export interface AzureFirewallApplicationRule { /** * @class - * Initializes a new instance of the AzureFirewallApplicationRuleCollection class. + * Initializes a new instance of the AzureFirewallApplicationRuleCollection class. + * @constructor + * Application rule collection resource + * + * @member {number} [priority] Priority of the application rule collection + * resource. + * @member {object} [action] The action type of a rule collection + * @member {string} [action.type] The type of action. Possible values include: + * 'Allow', 'Deny' + * @member {array} [rules] Collection of rules used by a application rule + * collection. + * @member {string} [provisioningState] The provisioning state of the resource. + * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + * @member {string} [name] Gets name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. + */ +export interface AzureFirewallApplicationRuleCollection extends SubResource { + priority?: number; + action?: AzureFirewallRCAction; + rules?: AzureFirewallApplicationRule[]; + provisioningState?: string; + name?: string; + readonly etag?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallNatRCAction class. + * @constructor + * AzureFirewall NAT Rule Collection Action. + * + * @member {string} [type] The type of action. Possible values include: 'Snat', + * 'Dnat' + */ +export interface AzureFirewallNatRCAction { + type?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallNatRule class. + * @constructor + * Properties of a NAT rule. + * + * @member {string} [name] Name of the NAT rule. + * @member {string} [description] Description of the rule. + * @member {array} [sourceAddresses] List of source IP addresses for this rule. + * @member {array} [destinationAddresses] List of destination IP addresses for + * this rule. + * @member {array} [destinationPorts] List of destination ports. + * @member {array} [protocols] Array of AzureFirewallNetworkRuleProtocols + * applicable to this NAT rule. + * @member {string} [translatedAddress] The translated address for this NAT + * rule. + * @member {string} [translatedPort] The translated port for this NAT rule. + */ +export interface AzureFirewallNatRule { + name?: string; + description?: string; + sourceAddresses?: string[]; + destinationAddresses?: string[]; + destinationPorts?: string[]; + protocols?: string[]; + translatedAddress?: string; + translatedPort?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallNatRuleCollection class. * @constructor - * Application rule collection resource + * NAT rule collection resource * - * @member {number} [priority] Priority of the application rule collection - * resource. - * @member {object} [action] The action type of a rule collection + * @member {number} [priority] Priority of the NAT rule collection resource. + * @member {object} [action] The action type of a NAT rule collection * @member {string} [action.type] The type of action. Possible values include: - * 'Allow', 'Deny' - * @member {array} [rules] Collection of rules used by a application rule - * collection. + * 'Snat', 'Dnat' + * @member {array} [rules] Collection of rules used by a NAT rule collection. * @member {string} [provisioningState] The provisioning state of the resource. * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' * @member {string} [name] Gets name of the resource that is unique within a @@ -2674,10 +4182,10 @@ export interface AzureFirewallApplicationRule { * @member {string} [etag] Gets a unique read-only string that changes whenever * the resource is updated. */ -export interface AzureFirewallApplicationRuleCollection extends SubResource { +export interface AzureFirewallNatRuleCollection extends SubResource { priority?: number; - action?: AzureFirewallRCAction; - rules?: AzureFirewallApplicationRule[]; + action?: AzureFirewallNatRCAction; + rules?: AzureFirewallNatRule[]; provisioningState?: string; name?: string; readonly etag?: string; @@ -2741,9 +4249,11 @@ export interface AzureFirewallNetworkRuleCollection extends SubResource { * Azure Firewall resource * * @member {array} [applicationRuleCollections] Collection of application rule - * collections used by a Azure Firewall. + * collections used by Azure Firewall. + * @member {array} [natRuleCollections] Collection of NAT rule collections used + * by Azure Firewall. * @member {array} [networkRuleCollections] Collection of network rule - * collections used by a Azure Firewall. + * collections used by Azure Firewall. * @member {array} [ipConfigurations] IP configuration of the Azure Firewall * resource. * @member {string} [provisioningState] The provisioning state of the resource. @@ -2753,6 +4263,7 @@ export interface AzureFirewallNetworkRuleCollection extends SubResource { */ export interface AzureFirewall extends Resource { applicationRuleCollections?: AzureFirewallApplicationRuleCollection[]; + natRuleCollections?: AzureFirewallNatRuleCollection[]; networkRuleCollections?: AzureFirewallNetworkRuleCollection[]; ipConfigurations?: AzureFirewallIPConfiguration[]; provisioningState?: string; @@ -3602,229 +5113,6 @@ export interface LoadBalancerSku { name?: string; } -/** - * @class - * Initializes a new instance of the FrontendIPConfiguration class. - * @constructor - * Frontend IP address of the load balancer. - * - * @member {array} [inboundNatRules] Read only. Inbound rules URIs that use - * this frontend IP. - * @member {array} [inboundNatPools] Read only. Inbound pools URIs that use - * this frontend IP. - * @member {array} [outboundRules] Read only. Outbound rules URIs that use this - * frontend IP. - * @member {array} [loadBalancingRules] Gets load balancing rules URIs that use - * this frontend IP. - * @member {string} [privateIPAddress] The private IP address of the IP - * configuration. - * @member {string} [privateIPAllocationMethod] The Private IP allocation - * method. Possible values are: 'Static' and 'Dynamic'. Possible values - * include: 'Static', 'Dynamic' - * @member {object} [subnet] The reference of the subnet resource. - * @member {string} [subnet.addressPrefix] The address prefix for the subnet. - * @member {array} [subnet.addressPrefixes] List of address prefixes for the - * subnet. - * @member {object} [subnet.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @member {array} [subnet.networkSecurityGroup.securityRules] A collection of - * security rules of the network security group. - * @member {array} [subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @member {array} [subnet.networkSecurityGroup.networkInterfaces] A collection - * of references to network interfaces. - * @member {array} [subnet.networkSecurityGroup.subnets] A collection of - * references to subnets. - * @member {string} [subnet.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * @member {string} [subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [subnet.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * @member {object} [subnet.routeTable] The reference of the RouteTable - * resource. - * @member {array} [subnet.routeTable.routes] Collection of routes contained - * within a route table. - * @member {array} [subnet.routeTable.subnets] A collection of references to - * subnets. - * @member {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @member {string} [subnet.routeTable.provisioningState] The provisioning - * state of the resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [subnet.routeTable.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @member {array} [subnet.serviceEndpoints] An array of service endpoints. - * @member {array} [subnet.serviceEndpointPolicies] An array of service - * endpoint policies. - * @member {array} [subnet.ipConfigurations] Gets an array of references to the - * network interface IP configurations using subnet. - * @member {array} [subnet.resourceNavigationLinks] Gets an array of references - * to the external resources using subnet. - * @member {string} [subnet.provisioningState] The provisioning state of the - * resource. - * @member {string} [subnet.name] The name of the resource that is unique - * within a resource group. This name can be used to access the resource. - * @member {string} [subnet.etag] A unique read-only string that changes - * whenever the resource is updated. - * @member {object} [publicIPAddress] The reference of the Public IP resource. - * @member {object} [publicIPAddress.sku] The public IP address SKU. - * @member {string} [publicIPAddress.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' - * @member {string} [publicIPAddress.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @member {string} [publicIPAddress.publicIPAddressVersion] The public IP - * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @member {object} [publicIPAddress.ipConfiguration] The IP configuration - * associated with the public IP address. - * @member {string} [publicIPAddress.ipConfiguration.privateIPAddress] The - * private IP address of the IP configuration. - * @member {string} [publicIPAddress.ipConfiguration.privateIPAllocationMethod] - * The private IP allocation method. Possible values are 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @member {object} [publicIPAddress.ipConfiguration.subnet] The reference of - * the subnet resource. - * @member {string} [publicIPAddress.ipConfiguration.subnet.addressPrefix] The - * address prefix for the subnet. - * @member {array} [publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @member {object} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] The reference - * of the NetworkSecurityGroup resource. - * @member {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @member {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @member {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @member {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] A - * collection of references to subnets. - * @member {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @member {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @member {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * @member {object} [publicIPAddress.ipConfiguration.subnet.routeTable] The - * reference of the RouteTable resource. - * @member {array} [publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @member {array} [publicIPAddress.ipConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @member {boolean} - * [publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @member {string} - * [publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @member {string} [publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @member {array} [publicIPAddress.ipConfiguration.subnet.serviceEndpoints] An - * array of service endpoints. - * @member {array} - * [publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] An array of - * service endpoint policies. - * @member {array} [publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @member {array} - * [publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] Gets an - * array of references to the external resources using subnet. - * @member {string} [publicIPAddress.ipConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @member {string} [publicIPAddress.ipConfiguration.subnet.name] The name of - * the resource that is unique within a resource group. This name can be used - * to access the resource. - * @member {string} [publicIPAddress.ipConfiguration.subnet.etag] A unique - * read-only string that changes whenever the resource is updated. - * @member {object} [publicIPAddress.ipConfiguration.publicIPAddress] The - * reference of the public IP resource. - * @member {string} [publicIPAddress.ipConfiguration.provisioningState] Gets - * the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [publicIPAddress.ipConfiguration.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * @member {string} [publicIPAddress.ipConfiguration.etag] A unique read-only - * string that changes whenever the resource is updated. - * @member {object} [publicIPAddress.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. - * @member {string} [publicIPAddress.dnsSettings.domainNameLabel] Gets or sets - * the Domain name label.The concatenation of the domain name label and the - * regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @member {string} [publicIPAddress.dnsSettings.fqdn] Gets the FQDN, Fully - * qualified domain name of the A DNS record associated with the public IP. - * This is the concatenation of the domainNameLabel and the regionalized DNS - * zone. - * @member {string} [publicIPAddress.dnsSettings.reverseFqdn] Gets or Sets the - * Reverse FQDN. A user-visible, fully qualified domain name that resolves to - * this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. - * @member {array} [publicIPAddress.ipTags] The list of tags associated with - * the public IP address. - * @member {string} [publicIPAddress.ipAddress] The IP address associated with - * the public IP address resource. - * @member {object} [publicIPAddress.publicIPPrefix] The Public IP Prefix this - * Public IP Address should be allocated from. - * @member {string} [publicIPAddress.publicIPPrefix.id] Resource ID. - * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout of - * the public IP address. - * @member {string} [publicIPAddress.resourceGuid] The resource GUID property - * of the public IP resource. - * @member {string} [publicIPAddress.provisioningState] The provisioning state - * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [publicIPAddress.etag] A unique read-only string that - * changes whenever the resource is updated. - * @member {array} [publicIPAddress.zones] A list of availability zones - * denoting the IP allocated for the resource needs to come from. - * @member {object} [publicIPPrefix] The reference of the Public IP Prefix - * resource. - * @member {string} [publicIPPrefix.id] Resource ID. - * @member {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @member {string} [etag] A unique read-only string that changes whenever the - * resource is updated. - * @member {array} [zones] A list of availability zones denoting the IP - * allocated for the resource needs to come from. - */ -export interface FrontendIPConfiguration extends SubResource { - readonly inboundNatRules?: SubResource[]; - readonly inboundNatPools?: SubResource[]; - readonly outboundRules?: SubResource[]; - readonly loadBalancingRules?: SubResource[]; - privateIPAddress?: string; - privateIPAllocationMethod?: string; - subnet?: Subnet; - publicIPAddress?: PublicIPAddress; - publicIPPrefix?: SubResource; - provisioningState?: string; - name?: string; - etag?: string; - zones?: string[]; -} - /** * @class * Initializes a new instance of the LoadBalancingRule class. @@ -7602,6 +8890,18 @@ export interface NetworkInterfaceLoadBalancerListResult extends Array { + readonly nextLink?: string; +} + /** * @class * Initializes a new instance of the NetworkSecurityGroupListResult class. @@ -7843,6 +9143,18 @@ export interface VirtualNetworkPeeringListResult extends Array { + nextLink?: string; +} + /** * @class * Initializes a new instance of the VirtualNetworkGatewayListResult class. diff --git a/lib/services/networkManagement2/lib/models/index.js b/lib/services/networkManagement2/lib/models/index.js index 20d3580b15..a1de7d3b19 100644 --- a/lib/services/networkManagement2/lib/models/index.js +++ b/lib/services/networkManagement2/lib/models/index.js @@ -19,8 +19,7 @@ var msRestAzure = require('ms-rest-azure'); exports.BaseResource = msRestAzure.BaseResource; exports.CloudError = msRestAzure.CloudError; exports.SubResource = require('./subResource'); -exports.BackendAddressPool = require('./backendAddressPool'); -exports.InboundNatRule = require('./inboundNatRule'); +exports.NetworkInterfaceTapConfiguration = require('./networkInterfaceTapConfiguration'); exports.Resource = require('./resource'); exports.ApplicationSecurityGroup = require('./applicationSecurityGroup'); exports.SecurityRule = require('./securityRule'); @@ -39,6 +38,10 @@ exports.PublicIPAddress = require('./publicIPAddress'); exports.IPConfiguration = require('./iPConfiguration'); exports.ResourceNavigationLink = require('./resourceNavigationLink'); exports.Subnet = require('./subnet'); +exports.FrontendIPConfiguration = require('./frontendIPConfiguration'); +exports.VirtualNetworkTap = require('./virtualNetworkTap'); +exports.BackendAddressPool = require('./backendAddressPool'); +exports.InboundNatRule = require('./inboundNatRule'); exports.NetworkInterfaceIPConfiguration = require('./networkInterfaceIPConfiguration'); exports.ApplicationGatewayBackendAddress = require('./applicationGatewayBackendAddress'); exports.ApplicationGatewayBackendAddressPool = require('./applicationGatewayBackendAddressPool'); @@ -79,6 +82,9 @@ exports.AzureFirewallRCAction = require('./azureFirewallRCAction'); exports.AzureFirewallApplicationRuleProtocol = require('./azureFirewallApplicationRuleProtocol'); exports.AzureFirewallApplicationRule = require('./azureFirewallApplicationRule'); exports.AzureFirewallApplicationRuleCollection = require('./azureFirewallApplicationRuleCollection'); +exports.AzureFirewallNatRCAction = require('./azureFirewallNatRCAction'); +exports.AzureFirewallNatRule = require('./azureFirewallNatRule'); +exports.AzureFirewallNatRuleCollection = require('./azureFirewallNatRuleCollection'); exports.AzureFirewallNetworkRule = require('./azureFirewallNetworkRule'); exports.AzureFirewallNetworkRuleCollection = require('./azureFirewallNetworkRuleCollection'); exports.AzureFirewall = require('./azureFirewall'); @@ -111,7 +117,6 @@ exports.ExpressRouteCircuitReference = require('./expressRouteCircuitReference') exports.ExpressRouteCrossConnectionPeering = require('./expressRouteCrossConnectionPeering'); exports.ExpressRouteCrossConnection = require('./expressRouteCrossConnection'); exports.LoadBalancerSku = require('./loadBalancerSku'); -exports.FrontendIPConfiguration = require('./frontendIPConfiguration'); exports.LoadBalancingRule = require('./loadBalancingRule'); exports.Probe = require('./probe'); exports.InboundNatPool = require('./inboundNatPool'); @@ -269,6 +274,7 @@ exports.NetworkInterfaceListResult = require('./networkInterfaceListResult'); exports.LoadBalancerProbeListResult = require('./loadBalancerProbeListResult'); exports.NetworkInterfaceIPConfigurationListResult = require('./networkInterfaceIPConfigurationListResult'); exports.NetworkInterfaceLoadBalancerListResult = require('./networkInterfaceLoadBalancerListResult'); +exports.NetworkInterfaceTapConfigurationListResult = require('./networkInterfaceTapConfigurationListResult'); exports.NetworkSecurityGroupListResult = require('./networkSecurityGroupListResult'); exports.SecurityRuleListResult = require('./securityRuleListResult'); exports.NetworkWatcherListResult = require('./networkWatcherListResult'); @@ -289,6 +295,7 @@ exports.VirtualNetworkListResult = require('./virtualNetworkListResult'); exports.VirtualNetworkListUsageResult = require('./virtualNetworkListUsageResult'); exports.SubnetListResult = require('./subnetListResult'); exports.VirtualNetworkPeeringListResult = require('./virtualNetworkPeeringListResult'); +exports.VirtualNetworkTapListResult = require('./virtualNetworkTapListResult'); exports.VirtualNetworkGatewayListResult = require('./virtualNetworkGatewayListResult'); exports.VirtualNetworkGatewayListConnectionsResult = require('./virtualNetworkGatewayListConnectionsResult'); exports.VirtualNetworkGatewayConnectionListResult = require('./virtualNetworkGatewayConnectionListResult'); diff --git a/lib/services/networkManagement2/lib/models/networkInterface.js b/lib/services/networkManagement2/lib/models/networkInterface.js index aab3f7b4db..25eea21fec 100644 --- a/lib/services/networkManagement2/lib/models/networkInterface.js +++ b/lib/services/networkManagement2/lib/models/networkInterface.js @@ -67,6 +67,10 @@ class NetworkInterface extends models['Resource'] { * is accelerated networking enabled. * @member {boolean} [enableIPForwarding] Indicates whether IP forwarding is * enabled on this network interface. + * @member {array} [hostedWorkloads] A list of references to linked BareMetal + * resources + * @member {string} [linkedResourceType] The type of resource to be linked to + * this network interface * @member {string} [resourceGuid] The resource GUID property of the network * interface resource. * @member {string} [provisioningState] The provisioning state of the public @@ -203,6 +207,28 @@ class NetworkInterface extends models['Resource'] { name: 'Boolean' } }, + hostedWorkloads: { + required: false, + readOnly: true, + serializedName: 'properties.hostedWorkloads', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + linkedResourceType: { + required: false, + serializedName: 'properties.linkedResourceType', + type: { + name: 'String' + } + }, resourceGuid: { required: false, serializedName: 'properties.resourceGuid', diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js index bb7736d7d6..670c362ae0 100644 --- a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js @@ -20,6 +20,8 @@ const models = require('./index'); class NetworkInterfaceIPConfiguration extends models['SubResource'] { /** * Create a NetworkInterfaceIPConfiguration. + * @member {array} [virtualNetworkTaps] The reference to Virtual Network + * Taps. * @member {array} [applicationGatewayBackendAddressPools] The reference of * ApplicationGatewayBackendAddressPool resource. * @member {array} [loadBalancerBackendAddressPools] The reference of @@ -252,6 +254,21 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { name: 'String' } }, + virtualNetworkTaps: { + required: false, + serializedName: 'properties.virtualNetworkTaps', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'VirtualNetworkTapElementType', + type: { + name: 'Composite', + className: 'VirtualNetworkTap' + } + } + } + }, applicationGatewayBackendAddressPools: { required: false, serializedName: 'properties.applicationGatewayBackendAddressPools', diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js b/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js new file mode 100644 index 0000000000..168e81520f --- /dev/null +++ b/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js @@ -0,0 +1,685 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * Tap configuration in a Network Interface + * + * @extends models['SubResource'] + */ +class NetworkInterfaceTapConfiguration extends models['SubResource'] { + /** + * Create a NetworkInterfaceTapConfiguration. + * @member {object} [virtualNetworkTap] The reference of the Virtual Network + * Tap resource. + * @member {array} [virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: + * 'Static' and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations + * using subnet. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {boolean} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations + * using subnet. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values + * are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain + * name associated with the public IP address. If a domain name label is + * specified, an A DNS record is created for the public IP in the Microsoft + * Azure DNS system. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and + * the regionalized DNS zone. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] The + * reference to the private IP address on the internal Load Balancer that + * will receive the tap + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatRules] + * Read only. Inbound rules URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatPools] + * Read only. Inbound pools URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.outboundRules] + * Read only. Outbound rules URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.loadBalancingRules] + * Gets load balancing rules URIs that use this frontend IP. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations + * using subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations + * using subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values + * are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain + * name associated with the public IP address. If a domain name label is + * specified, an A DNS record is created for the public IP in the Microsoft + * Azure DNS system. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and + * the regionalized DNS zone. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values + * are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] A + * list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {number} [virtualNetworkTap.destinationPort] The VXLAN destination + * port that will receive the tapped traffic. + * @member {string} [virtualNetworkTap.etag] Gets a unique read-only string + * that changes whenever the resource is updated. + * @member {string} [name] The name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] A unique read-only string that changes whenever + * the resource is updated. + * @member {string} [type] Sub Resource type. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of NetworkInterfaceTapConfiguration + * + * @returns {object} metadata of NetworkInterfaceTapConfiguration + * + */ + mapper() { + return { + required: false, + serializedName: 'NetworkInterfaceTapConfiguration', + type: { + name: 'Composite', + className: 'NetworkInterfaceTapConfiguration', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + virtualNetworkTap: { + required: false, + serializedName: 'properties.virtualNetworkTap', + type: { + name: 'Composite', + className: 'VirtualNetworkTap' + } + }, + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + etag: { + required: false, + serializedName: 'etag', + type: { + name: 'String' + } + }, + type: { + required: false, + readOnly: true, + serializedName: 'type', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = NetworkInterfaceTapConfiguration; diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceTapConfigurationListResult.js b/lib/services/networkManagement2/lib/models/networkInterfaceTapConfigurationListResult.js new file mode 100644 index 0000000000..14de141b82 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/networkInterfaceTapConfigurationListResult.js @@ -0,0 +1,68 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Response for list tap configurations API service call. + */ +class NetworkInterfaceTapConfigurationListResult extends Array { + /** + * Create a NetworkInterfaceTapConfigurationListResult. + * @member {string} [nextLink] The URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of NetworkInterfaceTapConfigurationListResult + * + * @returns {object} metadata of NetworkInterfaceTapConfigurationListResult + * + */ + mapper() { + return { + required: false, + serializedName: 'NetworkInterfaceTapConfigurationListResult', + type: { + name: 'Composite', + className: 'NetworkInterfaceTapConfigurationListResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'NetworkInterfaceTapConfigurationElementType', + type: { + name: 'Composite', + className: 'NetworkInterfaceTapConfiguration' + } + } + } + }, + nextLink: { + required: false, + readOnly: true, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = NetworkInterfaceTapConfigurationListResult; diff --git a/lib/services/networkManagement2/lib/models/virtualNetworkTap.js b/lib/services/networkManagement2/lib/models/virtualNetworkTap.js new file mode 100644 index 0000000000..a34ce37022 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/virtualNetworkTap.js @@ -0,0 +1,716 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * Virtual Network Tap resource + * + * @extends models['Resource'] + */ +class VirtualNetworkTap extends models['Resource'] { + /** + * Create a VirtualNetworkTap. + * @member {array} [networkInterfaceTapConfigurations] Specifies the list of + * resource IDs for the network interface IP configuration that needs to be + * tapped. + * @member {object} [destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] The + * reference to Virtual Network Taps. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] A + * list of references of LoadBalancerInboundNatRules. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.privateIPAddress] Private IP + * address of the IP configuration. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: + * 'Static' and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * @member {object} [destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.addressPrefix] The + * address prefix for the subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.addressPrefixes] List + * of address prefixes for the subnet. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable] The + * reference of the RouteTable resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.subnets] A + * collection of references to subnets. + * @member {boolean} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpoints] An + * array of service endpoints. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurations] Gets + * an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.provisioningState] The + * provisioning state of the resource. + * @member {string} [destinationNetworkInterfaceIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} [destinationNetworkInterfaceIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {boolean} [destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress] Public IP + * address bound to the IP configuration. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku] The + * public IP address SKU. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku.name] Name + * of a public IP address SKU. Possible values include: 'Basic', 'Standard' + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations + * using subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values + * are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain + * name associated with the public IP address. If a domain name label is + * specified, an A DNS record is created for the public IP in the Microsoft + * Azure DNS system. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and + * the regionalized DNS zone. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] The + * list of tags associated with the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipAddress] The + * IP address associated with the public IP address resource. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.zones] A list + * of availability zones denoting the IP allocated for the resource needs to + * come from. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.provisioningState] The + * provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} [destinationNetworkInterfaceIPConfiguration.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} [destinationNetworkInterfaceIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {object} [destinationLoadBalancerFrontEndIPConfiguration] The + * reference to the private IP address on the internal Load Balancer that + * will receive the tap + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.inboundNatRules] Read + * only. Inbound rules URIs that use this frontend IP. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.inboundNatPools] Read + * only. Inbound pools URIs that use this frontend IP. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.outboundRules] Read only. + * Outbound rules URIs that use this frontend IP. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.loadBalancingRules] Gets + * load balancing rules URIs that use this frontend IP. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] The + * private IP address of the IP configuration. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} [destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] The + * address prefix for the subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] The + * reference of the RouteTable resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations + * using subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] The + * reference of the Public IP resource. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] The + * public IP address SKU. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations + * using subnet. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values + * are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain + * name associated with the public IP address. If a domain name label is + * specified, an A DNS record is created for the public IP in the Microsoft + * Azure DNS system. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and + * the regionalized DNS zone. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] A + * list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] The + * reference of the Public IP Prefix resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.provisioningState] Gets + * the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [destinationLoadBalancerFrontEndIPConfiguration.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} [destinationLoadBalancerFrontEndIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} [destinationLoadBalancerFrontEndIPConfiguration.zones] A + * list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {number} [destinationPort] The VXLAN destination port that will + * receive the tapped traffic. + * @member {string} [etag] Gets a unique read-only string that changes + * whenever the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of VirtualNetworkTap + * + * @returns {object} metadata of VirtualNetworkTap + * + */ + mapper() { + return { + required: false, + serializedName: 'VirtualNetworkTap', + type: { + name: 'Composite', + className: 'VirtualNetworkTap', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + name: { + required: false, + readOnly: true, + serializedName: 'name', + type: { + name: 'String' + } + }, + type: { + required: false, + readOnly: true, + serializedName: 'type', + type: { + name: 'String' + } + }, + location: { + required: false, + serializedName: 'location', + type: { + name: 'String' + } + }, + tags: { + required: false, + serializedName: 'tags', + type: { + name: 'Dictionary', + value: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + networkInterfaceTapConfigurations: { + required: false, + serializedName: 'properties.networkInterfaceTapConfigurations', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'NetworkInterfaceTapConfigurationElementType', + type: { + name: 'Composite', + className: 'NetworkInterfaceTapConfiguration' + } + } + } + }, + destinationNetworkInterfaceIPConfiguration: { + required: false, + serializedName: 'properties.destinationNetworkInterfaceIPConfiguration', + type: { + name: 'Composite', + className: 'NetworkInterfaceIPConfiguration' + } + }, + destinationLoadBalancerFrontEndIPConfiguration: { + required: false, + serializedName: 'properties.destinationLoadBalancerFrontEndIPConfiguration', + type: { + name: 'Composite', + className: 'FrontendIPConfiguration' + } + }, + destinationPort: { + required: false, + serializedName: 'properties.destinationPort', + type: { + name: 'Number' + } + }, + etag: { + required: false, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = VirtualNetworkTap; diff --git a/lib/services/networkManagement2/lib/models/virtualNetworkTapListResult.js b/lib/services/networkManagement2/lib/models/virtualNetworkTapListResult.js new file mode 100644 index 0000000000..408dcbe071 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/virtualNetworkTapListResult.js @@ -0,0 +1,67 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Response for ListVirtualNetworkTap API service call. + */ +class VirtualNetworkTapListResult extends Array { + /** + * Create a VirtualNetworkTapListResult. + * @member {string} [nextLink] The URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of VirtualNetworkTapListResult + * + * @returns {object} metadata of VirtualNetworkTapListResult + * + */ + mapper() { + return { + required: false, + serializedName: 'VirtualNetworkTapListResult', + type: { + name: 'Composite', + className: 'VirtualNetworkTapListResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'VirtualNetworkTapElementType', + type: { + name: 'Composite', + className: 'VirtualNetworkTap' + } + } + } + }, + nextLink: { + required: false, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = VirtualNetworkTapListResult; diff --git a/lib/services/networkManagement2/lib/networkManagementClient.d.ts b/lib/services/networkManagement2/lib/networkManagementClient.d.ts index 5cc8a19867..ed5c57c221 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.d.ts +++ b/lib/services/networkManagement2/lib/networkManagementClient.d.ts @@ -77,6 +77,7 @@ export default class NetworkManagementClient extends AzureServiceClient { networkInterfaces: operations.NetworkInterfaces; networkInterfaceIPConfigurations: operations.NetworkInterfaceIPConfigurations; networkInterfaceLoadBalancers: operations.NetworkInterfaceLoadBalancers; + networkInterfaceTapConfigurations: operations.NetworkInterfaceTapConfigurations; networkSecurityGroups: operations.NetworkSecurityGroups; securityRules: operations.SecurityRules; defaultSecurityRules: operations.DefaultSecurityRules; @@ -97,6 +98,7 @@ export default class NetworkManagementClient extends AzureServiceClient { virtualNetworks: operations.VirtualNetworks; subnets: operations.Subnets; virtualNetworkPeerings: operations.VirtualNetworkPeerings; + virtualNetworkTaps: operations.VirtualNetworkTaps; virtualNetworkGateways: operations.VirtualNetworkGateways; virtualNetworkGatewayConnections: operations.VirtualNetworkGatewayConnections; localNetworkGateways: operations.LocalNetworkGateways; diff --git a/lib/services/networkManagement2/lib/networkManagementClient.js b/lib/services/networkManagement2/lib/networkManagementClient.js index 18ce6bb3ef..4cdb87b873 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.js +++ b/lib/services/networkManagement2/lib/networkManagementClient.js @@ -241,6 +241,7 @@ class NetworkManagementClient extends ServiceClient { this.networkInterfaces = new operations.NetworkInterfaces(this); this.networkInterfaceIPConfigurations = new operations.NetworkInterfaceIPConfigurations(this); this.networkInterfaceLoadBalancers = new operations.NetworkInterfaceLoadBalancers(this); + this.networkInterfaceTapConfigurations = new operations.NetworkInterfaceTapConfigurations(this); this.networkSecurityGroups = new operations.NetworkSecurityGroups(this); this.securityRules = new operations.SecurityRules(this); this.defaultSecurityRules = new operations.DefaultSecurityRules(this); @@ -261,6 +262,7 @@ class NetworkManagementClient extends ServiceClient { this.virtualNetworks = new operations.VirtualNetworks(this); this.subnets = new operations.Subnets(this); this.virtualNetworkPeerings = new operations.VirtualNetworkPeerings(this); + this.virtualNetworkTaps = new operations.VirtualNetworkTaps(this); this.virtualNetworkGateways = new operations.VirtualNetworkGateways(this); this.virtualNetworkGatewayConnections = new operations.VirtualNetworkGatewayConnections(this); this.localNetworkGateways = new operations.LocalNetworkGateways(this); diff --git a/lib/services/networkManagement2/lib/operations/azureFirewalls.js b/lib/services/networkManagement2/lib/operations/azureFirewalls.js index 5f67cc1f62..7c3ea7fe6c 100644 --- a/lib/services/networkManagement2/lib/operations/azureFirewalls.js +++ b/lib/services/networkManagement2/lib/operations/azureFirewalls.js @@ -232,10 +232,13 @@ function _get(resourceGroupName, azureFirewallName, options, callback) { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -726,10 +729,13 @@ function _beginDeleteMethod(resourceGroupName, azureFirewallName, options, callb * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1371,10 +1377,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1425,10 +1434,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1748,10 +1760,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1802,10 +1817,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. diff --git a/lib/services/networkManagement2/lib/operations/index.d.ts b/lib/services/networkManagement2/lib/operations/index.d.ts index 98fc4eefc0..dc3f3318a7 100644 --- a/lib/services/networkManagement2/lib/operations/index.d.ts +++ b/lib/services/networkManagement2/lib/operations/index.d.ts @@ -2573,10 +2573,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -2615,10 +2618,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -2842,10 +2848,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -2884,10 +2893,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -11980,6 +11992,9 @@ export interface NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -12091,6 +12106,9 @@ export interface NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -12935,6 +12953,9 @@ export interface NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -13046,6 +13067,9 @@ export interface NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -13897,20 +13921,21 @@ export interface NetworkInterfaceLoadBalancers { /** * @class - * NetworkSecurityGroups + * NetworkInterfaceTapConfigurations * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface NetworkSecurityGroups { +export interface NetworkInterfaceTapConfigurations { /** - * Deletes the specified network security group. + * Deletes the specified tap configuration from the NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -13923,15 +13948,16 @@ export interface NetworkSecurityGroups { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network security group. + * Deletes the specified tap configuration from the NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -13959,45 +13985,43 @@ export interface NetworkSecurityGroups { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified network security group. + * Get the specified tap configuration on a network interface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} [options] Optional Parameters. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified network security group. + * Get the specified tap configuration on a network interface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} [options] Optional Parameters. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -14009,7 +14033,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14017,256 +14041,386 @@ export interface NetworkSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * {NetworkInterfaceTapConfiguration} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, networkSecurityGroupName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkSecurityGroupName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a network security group in the specified resource group. + * Creates or updates a Tap configuration in the specified NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} parameters Parameters supplied to the create or update - * network security group operation. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {array} [parameters.securityRules] A collection of security rules of - * the network security group. + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * @param {array} [parameters.defaultSecurityRules] The default security rules - * of network security group. + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network security group resource. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {string} [parameters.id] Resource ID. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {string} [parameters.location] Resource location. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. * - * @reject {Error|ServiceError} - The error object. - */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a network security group in the specified resource group. + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @param {object} parameters Parameters supplied to the create or update - * network security group operation. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {array} [parameters.securityRules] A collection of security rules of - * the network security group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {array} [parameters.defaultSecurityRules] The default security rules - * of network security group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network security group resource. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {string} [parameters.id] Resource ID. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {string} [parameters.location] Resource location. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * {Promise} A promise is returned. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Updates a network security group tags. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. * - * @param {string} resourceGroupName The name of the resource group. + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @param {object} parameters Parameters supplied to update network security - * group tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. * - * @returns {Promise} A promise is returned + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @reject {Error|ServiceError} - The error object. - */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Updates a network security group tags. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {object} parameters Parameters supplied to update network security - * group tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * {Promise} A promise is returned. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - updateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all network security groups in a subscription. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @param {object} [options] Optional Parameters. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. - */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network security groups in a subscription. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * {Promise} A promise is returned. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroupListResult} for more - * information. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all network security groups in a resource group. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -14275,259 +14429,379 @@ export interface NetworkSecurityGroups { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups in a resource group. + * Creates or updates a Tap configuration in the specified NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} networkInterfaceName The name of the network interface. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * {Promise} A promise is returned. + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. * - * @reject {Error|ServiceError} - The error object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroupListResult} for more - * information. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Deletes the specified network security group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. * - * @returns {Promise} A promise is returned + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @reject {Error|ServiceError} - The error object. - */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified network security group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * {Promise} A promise is returned. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. * - * @resolve {null} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Creates or updates a network security group in the specified resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @param {object} parameters Parameters supplied to the create or update - * network security group operation. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * @param {array} [parameters.securityRules] A collection of security rules of - * the network security group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * @param {array} [parameters.defaultSecurityRules] The default security rules - * of network security group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network security group resource. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @param {string} [parameters.id] Resource ID. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * @param {string} [parameters.location] Resource location. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * @returns {Promise} A promise is returned + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. * - * @reject {Error|ServiceError} - The error object. - */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a network security group in the specified resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} parameters Parameters supplied to the create or update - * network security group operation. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {array} [parameters.securityRules] A collection of security rules of - * the network security group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {array} [parameters.defaultSecurityRules] The default security rules - * of network security group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network security group resource. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * @param {string} [parameters.id] Resource ID. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @param {string} [parameters.location] Resource location. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * {Promise} A promise is returned. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Updates a network security group tags. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @param {object} parameters Parameters supplied to update network security - * group tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. * - * @reject {Error|ServiceError} - The error object. - */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Updates a network security group tags. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. * - * @param {object} parameters Parameters supplied to update network security - * group tags. + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -14541,7 +14815,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14549,23 +14823,25 @@ export interface NetworkSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * {NetworkInterfaceTapConfiguration} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network security groups in a subscription. + * Get all Tap configurations in a network interface * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -14574,17 +14850,18 @@ export interface NetworkSecurityGroups { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups in a subscription. + * Get all Tap configurations in a network interface * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -14598,7 +14875,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfigurationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14606,24 +14883,27 @@ export interface NetworkSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroupListResult} for more - * information. + * {NetworkInterfaceTapConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfigurationListResult} + * for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network security groups in a resource group. + * Deletes the specified tap configuration from the NetworkInterface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -14632,17 +14912,20 @@ export interface NetworkSecurityGroups { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups in a resource group. + * Deletes the specified tap configuration from the NetworkInterface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -14656,7 +14939,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14664,240 +14947,3353 @@ export interface NetworkSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroupListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * SecurityRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface SecurityRules { + beginDeleteMethod(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network security rule. + * Creates or updates a Tap configuration in the specified NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. - * - * @param {string} securityRuleName The name of the security rule. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} [options] Optional Parameters. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * @returns {Promise} A promise is returned + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. * - * @reject {Error|ServiceError} - The error object. - */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified network security rule. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {string} securityRuleName The name of the security rule. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' * - * {Promise} A promise is returned. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. * - * @resolve {null} - The deserialized result object. + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. * - * @reject {Error|ServiceError} - The error object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Get the specified network security rule. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @returns {Promise} A promise is returned + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @reject {Error|ServiceError} - The error object. - */ - getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Get the specified network security rule. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * {Promise} A promise is returned. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * @resolve {SecurityRule} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. * - * @reject {Error|ServiceError} - The error object. + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * {SecurityRule} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRule} for more information. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a Tap configuration in the specified NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkInterfaceTapConfiguration} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Get all Tap configurations in a network interface + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get all Tap configurations in a network interface + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkInterfaceTapConfigurationListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkInterfaceTapConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfigurationListResult} + * for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * NetworkSecurityGroups + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface NetworkSecurityGroups { + + + /** + * Deletes the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.expand] Expands referenced resources. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.expand] Expands referenced resources. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroup} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroup} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, networkSecurityGroupName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkSecurityGroupName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a network security group in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. + * + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. + * + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a network security group in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. + * + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. + * + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroup} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroup} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates a network security group tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to update network security + * group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + updateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates a network security group tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to update network security + * group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroup} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroup} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + updateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all network security groups in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network security groups in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroupListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all network security groups in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network security groups in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroupListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a network security group in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. + * + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. + * + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a network security group in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. + * + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. + * + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroup} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroup} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates a network security group tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to update network security + * group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates a network security group tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} parameters Parameters supplied to update network security + * group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroup} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroup} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all network security groups in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network security groups in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroupListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all network security groups in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network security groups in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroupListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * SecurityRules + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface SecurityRules { + + + /** + * Deletes the specified network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Get the specified network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get the specified network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRule} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRule} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRule} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a security rule in the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. + * + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. + * + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values + * include: 'Tcp', 'Udp', '*' + * + * @param {string} [securityRuleParameters.sourcePortRange] The source port or + * range. Integer or range between 0 and 65535. Asterix '*' can also be used to + * match all ports. + * + * @param {string} [securityRuleParameters.destinationPortRange] The + * destination port or range. Integer or range between 0 and 65535. Asterix '*' + * can also be used to match all ports. + * + * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or + * source IP range. Asterix '*' can also be used to match all source IPs. + * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' + * can also be used. If this is an ingress rule, specifies where network + * traffic originates from. + * + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. + * + * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The + * application security group specified as source. + * + * @param {string} [securityRuleParameters.destinationAddressPrefix] The + * destination address prefix. CIDR or destination IP range. Asterix '*' can + * also be used to match all source IPs. Default tags such as 'VirtualNetwork', + * 'AzureLoadBalancer' and 'Internet' can also be used. + * + * @param {array} [securityRuleParameters.destinationAddressPrefixes] The + * destination address prefixes. CIDR or destination IP ranges. + * + * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] + * The application security group specified as destination. + * + * @param {array} [securityRuleParameters.sourcePortRanges] The source port + * ranges. + * + * @param {array} [securityRuleParameters.destinationPortRanges] The + * destination port ranges. + * + * @param {string} securityRuleParameters.access The network traffic is allowed + * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: + * 'Allow', 'Deny' + * + * @param {number} [securityRuleParameters.priority] The priority of the rule. + * The value can be between 100 and 4096. The priority number must be unique + * for each rule in the collection. The lower the priority number, the higher + * the priority of the rule. + * + * @param {string} securityRuleParameters.direction The direction of the rule. + * The direction specifies if rule will be evaluated on incoming or outcoming + * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values + * include: 'Inbound', 'Outbound' + * + * @param {string} [securityRuleParameters.provisioningState] The provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [securityRuleParameters.name] The name of the resource that + * is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [securityRuleParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [securityRuleParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a security rule in the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. + * + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. + * + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values + * include: 'Tcp', 'Udp', '*' + * + * @param {string} [securityRuleParameters.sourcePortRange] The source port or + * range. Integer or range between 0 and 65535. Asterix '*' can also be used to + * match all ports. + * + * @param {string} [securityRuleParameters.destinationPortRange] The + * destination port or range. Integer or range between 0 and 65535. Asterix '*' + * can also be used to match all ports. + * + * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or + * source IP range. Asterix '*' can also be used to match all source IPs. + * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' + * can also be used. If this is an ingress rule, specifies where network + * traffic originates from. + * + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. + * + * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The + * application security group specified as source. + * + * @param {string} [securityRuleParameters.destinationAddressPrefix] The + * destination address prefix. CIDR or destination IP range. Asterix '*' can + * also be used to match all source IPs. Default tags such as 'VirtualNetwork', + * 'AzureLoadBalancer' and 'Internet' can also be used. + * + * @param {array} [securityRuleParameters.destinationAddressPrefixes] The + * destination address prefixes. CIDR or destination IP ranges. + * + * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] + * The application security group specified as destination. + * + * @param {array} [securityRuleParameters.sourcePortRanges] The source port + * ranges. + * + * @param {array} [securityRuleParameters.destinationPortRanges] The + * destination port ranges. + * + * @param {string} securityRuleParameters.access The network traffic is allowed + * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: + * 'Allow', 'Deny' + * + * @param {number} [securityRuleParameters.priority] The priority of the rule. + * The value can be between 100 and 4096. The priority number must be unique + * for each rule in the collection. The lower the priority number, the higher + * the priority of the rule. + * + * @param {string} securityRuleParameters.direction The direction of the rule. + * The direction specifies if rule will be evaluated on incoming or outcoming + * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values + * include: 'Inbound', 'Outbound' + * + * @param {string} [securityRuleParameters.provisioningState] The provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [securityRuleParameters.name] The name of the resource that + * is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [securityRuleParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [securityRuleParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRule} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRule} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRule} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all security rules in a network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all security rules in a network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRuleListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRuleListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + list(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a security rule in the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. + * + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. + * + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values + * include: 'Tcp', 'Udp', '*' + * + * @param {string} [securityRuleParameters.sourcePortRange] The source port or + * range. Integer or range between 0 and 65535. Asterix '*' can also be used to + * match all ports. + * + * @param {string} [securityRuleParameters.destinationPortRange] The + * destination port or range. Integer or range between 0 and 65535. Asterix '*' + * can also be used to match all ports. + * + * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or + * source IP range. Asterix '*' can also be used to match all source IPs. + * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' + * can also be used. If this is an ingress rule, specifies where network + * traffic originates from. + * + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. + * + * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The + * application security group specified as source. + * + * @param {string} [securityRuleParameters.destinationAddressPrefix] The + * destination address prefix. CIDR or destination IP range. Asterix '*' can + * also be used to match all source IPs. Default tags such as 'VirtualNetwork', + * 'AzureLoadBalancer' and 'Internet' can also be used. + * + * @param {array} [securityRuleParameters.destinationAddressPrefixes] The + * destination address prefixes. CIDR or destination IP ranges. + * + * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] + * The application security group specified as destination. + * + * @param {array} [securityRuleParameters.sourcePortRanges] The source port + * ranges. + * + * @param {array} [securityRuleParameters.destinationPortRanges] The + * destination port ranges. + * + * @param {string} securityRuleParameters.access The network traffic is allowed + * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: + * 'Allow', 'Deny' + * + * @param {number} [securityRuleParameters.priority] The priority of the rule. + * The value can be between 100 and 4096. The priority number must be unique + * for each rule in the collection. The lower the priority number, the higher + * the priority of the rule. + * + * @param {string} securityRuleParameters.direction The direction of the rule. + * The direction specifies if rule will be evaluated on incoming or outcoming + * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values + * include: 'Inbound', 'Outbound' + * + * @param {string} [securityRuleParameters.provisioningState] The provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [securityRuleParameters.name] The name of the resource that + * is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [securityRuleParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [securityRuleParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a security rule in the specified network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. + * + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. + * + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. + * + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values + * include: 'Tcp', 'Udp', '*' + * + * @param {string} [securityRuleParameters.sourcePortRange] The source port or + * range. Integer or range between 0 and 65535. Asterix '*' can also be used to + * match all ports. + * + * @param {string} [securityRuleParameters.destinationPortRange] The + * destination port or range. Integer or range between 0 and 65535. Asterix '*' + * can also be used to match all ports. + * + * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or + * source IP range. Asterix '*' can also be used to match all source IPs. + * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' + * can also be used. If this is an ingress rule, specifies where network + * traffic originates from. + * + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. + * + * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The + * application security group specified as source. + * + * @param {string} [securityRuleParameters.destinationAddressPrefix] The + * destination address prefix. CIDR or destination IP range. Asterix '*' can + * also be used to match all source IPs. Default tags such as 'VirtualNetwork', + * 'AzureLoadBalancer' and 'Internet' can also be used. + * + * @param {array} [securityRuleParameters.destinationAddressPrefixes] The + * destination address prefixes. CIDR or destination IP ranges. + * + * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] + * The application security group specified as destination. + * + * @param {array} [securityRuleParameters.sourcePortRanges] The source port + * ranges. + * + * @param {array} [securityRuleParameters.destinationPortRanges] The + * destination port ranges. + * + * @param {string} securityRuleParameters.access The network traffic is allowed + * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: + * 'Allow', 'Deny' + * + * @param {number} [securityRuleParameters.priority] The priority of the rule. + * The value can be between 100 and 4096. The priority number must be unique + * for each rule in the collection. The lower the priority number, the higher + * the priority of the rule. + * + * @param {string} securityRuleParameters.direction The direction of the rule. + * The direction specifies if rule will be evaluated on incoming or outcoming + * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values + * include: 'Inbound', 'Outbound' + * + * @param {string} [securityRuleParameters.provisioningState] The provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [securityRuleParameters.name] The name of the resource that + * is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [securityRuleParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [securityRuleParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRule} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRule} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRule} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all security rules in a network security group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all security rules in a network security group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRuleListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRuleListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * DefaultSecurityRules + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface DefaultSecurityRules { + + + /** + * Gets all default security rules in a network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all default security rules in a network security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRuleListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRuleListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + list(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Get the specified default network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} defaultSecurityRuleName The name of the default security + * rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get the specified default network security rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} defaultSecurityRuleName The name of the default security + * rule. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRule} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRule} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRule} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all default security rules in a network security group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all default security rules in a network security group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {SecurityRuleListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityRuleListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * NetworkWatchers + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface NetworkWatchers { + + + /** + * Creates or updates a network watcher in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the network watcher + * resource. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a network watcher in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the network watcher + * resource. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkWatcher} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkWatcher} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the specified network watcher by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified network watcher by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkWatcher} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkWatcher} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified network watcher resource. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified network watcher resource. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + deleteMethod(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates a network watcher tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters supplied to update network watcher + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + updateTagsWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates a network watcher tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters supplied to update network watcher + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkWatcher} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkWatcher} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + updateTags(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all network watchers by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network watchers by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkWatcherListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkWatcherListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkWatcherListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all network watchers by subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network watchers by subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NetworkWatcherListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkWatcherListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkWatcherListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the current network topology by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the representation of + * topology. + * + * @param {string} [parameters.targetResourceGroupName] The name of the target + * resource group to perform topology on. + * + * @param {object} [parameters.targetVirtualNetwork] The reference of the + * Virtual Network resource. + * + * @param {object} [parameters.targetSubnet] The reference of the Subnet + * resource. + * + * @param {string} [parameters.targetSubnet.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getTopologyWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the current network topology by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the representation of + * topology. + * + * @param {string} [parameters.targetResourceGroupName] The name of the target + * resource group to perform topology on. + * + * @param {object} [parameters.targetVirtualNetwork] The reference of the + * Virtual Network resource. + * + * @param {object} [parameters.targetSubnet] The reference of the Subnet + * resource. + * + * @param {string} [parameters.targetSubnet.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {Topology} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {Topology} [result] - The deserialized result object if an error did not occur. + * See {@link Topology} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + getTopology(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getTopology(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, callback: ServiceCallback): void; + getTopology(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Verify IP flow from the specified VM to a location given the currently + * configured NSG rules. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the IP flow to be + * verified. + * + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform next-hop on. + * + * @param {string} parameters.direction The direction of the packet represented + * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * + * @param {string} parameters.protocol Protocol to be verified on. Possible + * values include: 'TCP', 'UDP' + * + * @param {string} parameters.localPort The local port. Acceptable values are a + * single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.remotePort The remote port. Acceptable values are + * a single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.localIPAddress The local IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of them, then this + * parameter must be specified. Otherwise optional). + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + verifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Verify IP flow from the specified VM to a location given the currently + * configured NSG rules. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the IP flow to be + * verified. + * + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform next-hop on. + * + * @param {string} parameters.direction The direction of the packet represented + * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * + * @param {string} parameters.protocol Protocol to be verified on. Possible + * values include: 'TCP', 'UDP' + * + * @param {string} parameters.localPort The local port. Acceptable values are a + * single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.remotePort The remote port. Acceptable values are + * a single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.localIPAddress The local IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of them, then this + * parameter must be specified. Otherwise optional). + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {VerificationIPFlowResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {VerificationIPFlowResult} [result] - The deserialized result object if an error did not occur. + * See {@link VerificationIPFlowResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, callback: ServiceCallback): void; + verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the next hop from the specified VM. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the source and destination + * endpoint. + * + * @param {string} parameters.targetResourceId The resource identifier of the + * target resource against which the action is to be performed. + * + * @param {string} parameters.sourceIPAddress The source IP address. + * + * @param {string} parameters.destinationIPAddress The destination IP address. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of the nics, then this + * parameter must be specified. Otherwise optional). + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the next hop from the specified VM. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the source and destination + * endpoint. + * + * @param {string} parameters.targetResourceId The resource identifier of the + * target resource against which the action is to be performed. + * + * @param {string} parameters.sourceIPAddress The source IP address. + * + * @param {string} parameters.destinationIPAddress The destination IP address. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of the nics, then this + * parameter must be specified. Otherwise optional). + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {NextHopResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NextHopResult} [result] - The deserialized result object if an error did not occur. + * See {@link NextHopResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, callback: ServiceCallback): void; + getNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a security rule in the specified network security group. + * Gets the configured and effective security group rules on the specified VM. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} securityRuleName The name of the security rule. + * @param {object} parameters Parameters that define the VM to check security + * groups for. * - * @param {object} securityRuleParameters Parameters supplied to the create or - * update network security rule operation. + * @param {string} parameters.targetResourceId ID of the target VM. * - * @param {string} [securityRuleParameters.description] A description for this - * rule. Restricted to 140 chars. + * @param {object} [options] Optional Parameters. * - * @param {string} securityRuleParameters.protocol Network protocol this rule - * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values - * include: 'Tcp', 'Udp', '*' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [securityRuleParameters.sourcePortRange] The source port or - * range. Integer or range between 0 and 65535. Asterix '*' can also be used to - * match all ports. + * @returns {Promise} A promise is returned * - * @param {string} [securityRuleParameters.destinationPortRange] The - * destination port or range. Integer or range between 0 and 65535. Asterix '*' - * can also be used to match all ports. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or - * source IP range. Asterix '*' can also be used to match all source IPs. - * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' - * can also be used. If this is an ingress rule, specifies where network - * traffic originates from. + * @reject {Error|ServiceError} - The error object. + */ + getVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the configured and effective security group rules on the specified VM. * - * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or - * source IP ranges. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The - * application security group specified as source. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} [securityRuleParameters.destinationAddressPrefix] The - * destination address prefix. CIDR or destination IP range. Asterix '*' can - * also be used to match all source IPs. Default tags such as 'VirtualNetwork', - * 'AzureLoadBalancer' and 'Internet' can also be used. + * @param {object} parameters Parameters that define the VM to check security + * groups for. * - * @param {array} [securityRuleParameters.destinationAddressPrefixes] The - * destination address prefixes. CIDR or destination IP ranges. + * @param {string} parameters.targetResourceId ID of the target VM. * - * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] - * The application security group specified as destination. + * @param {object} [options] Optional Parameters. * - * @param {array} [securityRuleParameters.sourcePortRanges] The source port - * ranges. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {number} [securityRuleParameters.priority] The priority of the rule. - * The value can be between 100 and 4096. The priority number must be unique - * for each rule in the collection. The lower the priority number, the higher - * the priority of the rule. + * {Promise} A promise is returned. * - * @param {string} securityRuleParameters.direction The direction of the rule. - * The direction specifies if rule will be evaluated on incoming or outcoming - * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values - * include: 'Inbound', 'Outbound' + * @resolve {SecurityGroupViewResult} - The deserialized result object. * - * @param {string} [securityRuleParameters.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [securityRuleParameters.name] The name of the resource that - * is unique within a resource group. This name can be used to access the - * resource. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [securityRuleParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [securityRuleParameters.id] Resource ID. + * {SecurityGroupViewResult} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityGroupViewResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + getVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, callback: ServiceCallback): void; + getVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Initiate troubleshooting on a specified resource + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define the resource to + * troubleshoot. + * + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. + * + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. + * + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * * @param {object} [options] Optional Parameters. * @@ -14906,95 +18302,101 @@ export interface SecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a security rule in the specified network security group. + * Initiate troubleshooting on a specified resource * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} securityRuleName The name of the security rule. + * @param {object} parameters Parameters that define the resource to + * troubleshoot. * - * @param {object} securityRuleParameters Parameters supplied to the create or - * update network security rule operation. + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. * - * @param {string} [securityRuleParameters.description] A description for this - * rule. Restricted to 140 chars. + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. * - * @param {string} securityRuleParameters.protocol Network protocol this rule - * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values - * include: 'Tcp', 'Udp', '*' + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * - * @param {string} [securityRuleParameters.sourcePortRange] The source port or - * range. Integer or range between 0 and 65535. Asterix '*' can also be used to - * match all ports. + * @param {object} [options] Optional Parameters. * - * @param {string} [securityRuleParameters.destinationPortRange] The - * destination port or range. Integer or range between 0 and 65535. Asterix '*' - * can also be used to match all ports. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or - * source IP range. Asterix '*' can also be used to match all source IPs. - * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' - * can also be used. If this is an ingress rule, specifies where network - * traffic originates from. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or - * source IP ranges. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The - * application security group specified as source. + * {Promise} A promise is returned. * - * @param {string} [securityRuleParameters.destinationAddressPrefix] The - * destination address prefix. CIDR or destination IP range. Asterix '*' can - * also be used to match all source IPs. Default tags such as 'VirtualNetwork', - * 'AzureLoadBalancer' and 'Internet' can also be used. + * @resolve {TroubleshootingResult} - The deserialized result object. * - * @param {array} [securityRuleParameters.destinationAddressPrefixes] The - * destination address prefixes. CIDR or destination IP ranges. + * @reject {Error|ServiceError} - The error object. * - * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] - * The application security group specified as destination. + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. + * See {@link TroubleshootingResult} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, callback: ServiceCallback): void; + getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Get the last completed troubleshooting result on a specified resource + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define the resource to query the + * troubleshooting result. + * + * @param {string} parameters.targetResourceId The target resource ID to query + * the troubleshooting result. * - * @param {array} [securityRuleParameters.sourcePortRanges] The source port - * ranges. + * @param {object} [options] Optional Parameters. * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @returns {Promise} A promise is returned * - * @param {number} [securityRuleParameters.priority] The priority of the rule. - * The value can be between 100 and 4096. The priority number must be unique - * for each rule in the collection. The lower the priority number, the higher - * the priority of the rule. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} securityRuleParameters.direction The direction of the rule. - * The direction specifies if rule will be evaluated on incoming or outcoming - * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values - * include: 'Inbound', 'Outbound' + * @reject {Error|ServiceError} - The error object. + */ + getTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get the last completed troubleshooting result on a specified resource * - * @param {string} [securityRuleParameters.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [securityRuleParameters.name] The name of the resource that - * is unique within a resource group. This name can be used to access the - * resource. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} [securityRuleParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {object} parameters Parameters that define the resource to query the + * troubleshooting result. * - * @param {string} [securityRuleParameters.id] Resource ID. + * @param {string} parameters.targetResourceId The target resource ID to query + * the troubleshooting result. * * @param {object} [options] Optional Parameters. * @@ -15008,7 +18410,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15016,26 +18418,67 @@ export interface SecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRule} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRule} for more information. + * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. + * See {@link TroubleshootingResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, callback: ServiceCallback): void; + getTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all security rules in a network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define the configuration of flow + * log. + * + * @param {string} parameters.targetResourceId The ID of the resource to + * configure for flow log and traffic analytics (optional) . + * + * @param {string} parameters.storageId ID of the storage account which is used + * to store the flow log. + * + * @param {boolean} parameters.enabled Flag to enable/disable flow logging. + * + * @param {object} [parameters.retentionPolicy] + * + * @param {number} [parameters.retentionPolicy.days] Number of days to retain + * flow log records. + * + * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable + * retention. + * + * @param {object} [parameters.flowAnalyticsConfiguration] + * + * @param {object} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * + * @param {boolean} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled + * Flag to enable/disable traffic analytics. + * + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId + * The resource guid of the attached workspace + * + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion + * The location of the attached workspace + * + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId + * Resource Id of the attached workspace + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15043,20 +18486,61 @@ export interface SecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + setFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all security rules in a network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define the configuration of flow + * log. + * + * @param {string} parameters.targetResourceId The ID of the resource to + * configure for flow log and traffic analytics (optional) . + * + * @param {string} parameters.storageId ID of the storage account which is used + * to store the flow log. + * + * @param {boolean} parameters.enabled Flag to enable/disable flow logging. + * + * @param {object} [parameters.retentionPolicy] + * + * @param {number} [parameters.retentionPolicy.days] Number of days to retain + * flow log records. + * + * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable + * retention. + * + * @param {object} [parameters.flowAnalyticsConfiguration] + * + * @param {object} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * + * @param {boolean} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled + * Flag to enable/disable traffic analytics. + * + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId + * The resource guid of the attached workspace + * + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion + * The location of the attached workspace + * + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId + * Resource Id of the attached workspace + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15069,7 +18553,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15077,28 +18561,32 @@ export interface SecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRuleListResult} for more - * information. + * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. + * See {@link FlowLogInformation} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, callback: ServiceCallback): void; + setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network security rule. - * - * @param {string} resourceGroupName The name of the resource group. + * Queries status of flow log and traffic analytics (optional) on a specified + * resource. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define a resource to query flow + * log and traffic analytics (optional) status. + * + * @param {string} parameters.targetResourceId The target resource where + * getting the flow log and traffic analytics (optional) status. * * @param {object} [options] Optional Parameters. * @@ -15107,21 +18595,26 @@ export interface SecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network security rule. - * - * @param {string} resourceGroupName The name of the resource group. + * Queries status of flow log and traffic analytics (optional) on a specified + * resource. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define a resource to query flow + * log and traffic analytics (optional) status. + * + * @param {string} parameters.targetResourceId The target resource where + * getting the flow log and traffic analytics (optional) status. * * @param {object} [options] Optional Parameters. * @@ -15135,7 +18628,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15143,100 +18636,66 @@ export interface SecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. + * See {@link FlowLogInformation} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, callback: ServiceCallback): void; + getFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a security rule in the specified network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * Verifies the possibility of establishing a direct TCP connection from a + * virtual machine to a given endpoint including another VM or an arbitrary + * remote server. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * - * @param {string} securityRuleName The name of the security rule. - * - * @param {object} securityRuleParameters Parameters supplied to the create or - * update network security rule operation. - * - * @param {string} [securityRuleParameters.description] A description for this - * rule. Restricted to 140 chars. - * - * @param {string} securityRuleParameters.protocol Network protocol this rule - * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values - * include: 'Tcp', 'Udp', '*' - * - * @param {string} [securityRuleParameters.sourcePortRange] The source port or - * range. Integer or range between 0 and 65535. Asterix '*' can also be used to - * match all ports. - * - * @param {string} [securityRuleParameters.destinationPortRange] The - * destination port or range. Integer or range between 0 and 65535. Asterix '*' - * can also be used to match all ports. - * - * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or - * source IP range. Asterix '*' can also be used to match all source IPs. - * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' - * can also be used. If this is an ingress rule, specifies where network - * traffic originates from. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or - * source IP ranges. + * @param {object} parameters Parameters that determine how the connectivity + * check will be performed. * - * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The - * application security group specified as source. + * @param {object} parameters.source * - * @param {string} [securityRuleParameters.destinationAddressPrefix] The - * destination address prefix. CIDR or destination IP range. Asterix '*' can - * also be used to match all source IPs. Default tags such as 'VirtualNetwork', - * 'AzureLoadBalancer' and 'Internet' can also be used. + * @param {string} parameters.source.resourceId The ID of the resource from + * which a connectivity check will be initiated. * - * @param {array} [securityRuleParameters.destinationAddressPrefixes] The - * destination address prefixes. CIDR or destination IP ranges. + * @param {number} [parameters.source.port] The source port from which a + * connectivity check will be performed. * - * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] - * The application security group specified as destination. + * @param {object} parameters.destination * - * @param {array} [securityRuleParameters.sourcePortRanges] The source port - * ranges. + * @param {string} [parameters.destination.resourceId] The ID of the resource + * to which a connection attempt will be made. * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * @param {string} [parameters.destination.address] The IP address or URI the + * resource to which a connection attempt will be made. * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @param {number} [parameters.destination.port] Port on which check + * connectivity will be performed. * - * @param {number} [securityRuleParameters.priority] The priority of the rule. - * The value can be between 100 and 4096. The priority number must be unique - * for each rule in the collection. The lower the priority number, the higher - * the priority of the rule. + * @param {string} [parameters.protocol] Network protocol. Possible values + * include: 'Tcp', 'Http', 'Https', 'Icmp' * - * @param {string} securityRuleParameters.direction The direction of the rule. - * The direction specifies if rule will be evaluated on incoming or outcoming - * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values - * include: 'Inbound', 'Outbound' + * @param {object} [parameters.protocolConfiguration] * - * @param {string} [securityRuleParameters.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] * - * @param {string} [securityRuleParameters.name] The name of the resource that - * is unique within a resource group. This name can be used to access the - * resource. + * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] + * HTTP method. Possible values include: 'Get' * - * @param {string} [securityRuleParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] + * List of HTTP headers. * - * @param {string} [securityRuleParameters.id] Resource ID. + * @param {array} + * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid + * status codes. * * @param {object} [options] Optional Parameters. * @@ -15245,95 +18704,60 @@ export interface SecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + checkConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a security rule in the specified network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * Verifies the possibility of establishing a direct TCP connection from a + * virtual machine to a given endpoint including another VM or an arbitrary + * remote server. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * - * @param {string} securityRuleName The name of the security rule. - * - * @param {object} securityRuleParameters Parameters supplied to the create or - * update network security rule operation. - * - * @param {string} [securityRuleParameters.description] A description for this - * rule. Restricted to 140 chars. - * - * @param {string} securityRuleParameters.protocol Network protocol this rule - * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values - * include: 'Tcp', 'Udp', '*' - * - * @param {string} [securityRuleParameters.sourcePortRange] The source port or - * range. Integer or range between 0 and 65535. Asterix '*' can also be used to - * match all ports. - * - * @param {string} [securityRuleParameters.destinationPortRange] The - * destination port or range. Integer or range between 0 and 65535. Asterix '*' - * can also be used to match all ports. - * - * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or - * source IP range. Asterix '*' can also be used to match all source IPs. - * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' - * can also be used. If this is an ingress rule, specifies where network - * traffic originates from. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or - * source IP ranges. + * @param {object} parameters Parameters that determine how the connectivity + * check will be performed. * - * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The - * application security group specified as source. + * @param {object} parameters.source * - * @param {string} [securityRuleParameters.destinationAddressPrefix] The - * destination address prefix. CIDR or destination IP range. Asterix '*' can - * also be used to match all source IPs. Default tags such as 'VirtualNetwork', - * 'AzureLoadBalancer' and 'Internet' can also be used. + * @param {string} parameters.source.resourceId The ID of the resource from + * which a connectivity check will be initiated. * - * @param {array} [securityRuleParameters.destinationAddressPrefixes] The - * destination address prefixes. CIDR or destination IP ranges. + * @param {number} [parameters.source.port] The source port from which a + * connectivity check will be performed. * - * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] - * The application security group specified as destination. + * @param {object} parameters.destination * - * @param {array} [securityRuleParameters.sourcePortRanges] The source port - * ranges. + * @param {string} [parameters.destination.resourceId] The ID of the resource + * to which a connection attempt will be made. * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * @param {string} [parameters.destination.address] The IP address or URI the + * resource to which a connection attempt will be made. * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @param {number} [parameters.destination.port] Port on which check + * connectivity will be performed. * - * @param {number} [securityRuleParameters.priority] The priority of the rule. - * The value can be between 100 and 4096. The priority number must be unique - * for each rule in the collection. The lower the priority number, the higher - * the priority of the rule. + * @param {string} [parameters.protocol] Network protocol. Possible values + * include: 'Tcp', 'Http', 'Https', 'Icmp' * - * @param {string} securityRuleParameters.direction The direction of the rule. - * The direction specifies if rule will be evaluated on incoming or outcoming - * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values - * include: 'Inbound', 'Outbound' + * @param {object} [parameters.protocolConfiguration] * - * @param {string} [securityRuleParameters.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] * - * @param {string} [securityRuleParameters.name] The name of the resource that - * is unique within a resource group. This name can be used to access the - * resource. + * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] + * HTTP method. Possible values include: 'Get' * - * @param {string} [securityRuleParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] + * List of HTTP headers. * - * @param {string} [securityRuleParameters.id] Resource ID. + * @param {array} + * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid + * status codes. * * @param {object} [options] Optional Parameters. * @@ -15347,7 +18771,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {ConnectivityInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15355,23 +18779,50 @@ export interface SecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRule} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRule} for more information. + * {ConnectivityInformation} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectivityInformation} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + checkConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + checkConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, callback: ServiceCallback): void; + checkConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all security rules in a network security group. + * Gets the relative latency score for internet service providers from a + * specified location to Azure regions. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the network watcher resource + * group. + * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that determine Azure reachability + * report configuration. + * + * @param {object} parameters.providerLocation + * + * @param {string} parameters.providerLocation.country The name of the country. + * + * @param {string} [parameters.providerLocation.state] The name of the state. + * + * @param {string} [parameters.providerLocation.city] The name of the city or + * town. + * + * @param {array} [parameters.providers] List of Internet service providers. + * + * @param {array} [parameters.azureLocations] Optional Azure regions to scope + * the query to. + * + * @param {date} parameters.startTime The start time for the Azure reachability + * report. + * + * @param {date} parameters.endTime The end time for the Azure reachability + * report. * * @param {object} [options] Optional Parameters. * @@ -15380,17 +18831,43 @@ export interface SecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all security rules in a network security group. + * Gets the relative latency score for internet service providers from a + * specified location to Azure regions. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the network watcher resource + * group. + * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that determine Azure reachability + * report configuration. + * + * @param {object} parameters.providerLocation + * + * @param {string} parameters.providerLocation.country The name of the country. + * + * @param {string} [parameters.providerLocation.state] The name of the state. + * + * @param {string} [parameters.providerLocation.city] The name of the city or + * town. + * + * @param {array} [parameters.providers] List of Internet service providers. + * + * @param {array} [parameters.azureLocations] Optional Azure regions to scope + * the query to. + * + * @param {date} parameters.startTime The start time for the Azure reachability + * report. + * + * @param {date} parameters.endTime The end time for the Azure reachability + * report. * * @param {object} [options] Optional Parameters. * @@ -15404,7 +18881,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {AzureReachabilityReport} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15412,36 +18889,40 @@ export interface SecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRuleListResult} for more - * information. - * - * {WebResource} [request] - The HTTP Request object if an error did not occur. - * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * DefaultSecurityRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface DefaultSecurityRules { + * {AzureReachabilityReport} [result] - The deserialized result object if an error did not occur. + * See {@link AzureReachabilityReport} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + getAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, callback: ServiceCallback): void; + getAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all default security rules in a network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * Lists all available internet service providers for a specified Azure region. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that scope the list of available + * providers. + * + * @param {array} [parameters.azureLocations] A list of Azure regions. + * + * @param {string} [parameters.country] The country for available providers + * list. + * + * @param {string} [parameters.state] The state for available providers list. + * + * @param {string} [parameters.city] The city or town for available providers + * list. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15449,20 +18930,33 @@ export interface DefaultSecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all default security rules in a network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * Lists all available internet service providers for a specified Azure region. * - * @param {string} networkSecurityGroupName The name of the network security + * @param {string} resourceGroupName The name of the network watcher resource * group. * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that scope the list of available + * providers. + * + * @param {array} [parameters.azureLocations] A list of Azure regions. + * + * @param {string} [parameters.country] The country for available providers + * list. + * + * @param {string} [parameters.state] The state for available providers list. + * + * @param {string} [parameters.city] The city or town for available providers + * list. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15475,7 +18969,7 @@ export interface DefaultSecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {AvailableProvidersList} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15483,29 +18977,34 @@ export interface DefaultSecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRuleListResult} for more + * {AvailableProvidersList} [result] - The deserialized result object if an error did not occur. + * See {@link AvailableProvidersList} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, callback: ServiceCallback): void; + listAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the specified default network security rule. + * Get network configuration diagnostic. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} defaultSecurityRuleName The name of the default security - * rule. + * @param {object} parameters Parameters to get network configuration + * diagnostic. + * + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform network configuration diagnostic. Valid options are VM, + * NetworkInterface, VMSS/NetworkInterface and Application Gateway. + * + * @param {array} parameters.queries List of traffic queries. * * @param {object} [options] Optional Parameters. * @@ -15514,22 +19013,27 @@ export interface DefaultSecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified default network security rule. + * Get network configuration diagnostic. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} defaultSecurityRuleName The name of the default security - * rule. + * @param {object} parameters Parameters to get network configuration + * diagnostic. + * + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform network configuration diagnostic. Valid options are VM, + * NetworkInterface, VMSS/NetworkInterface and Application Gateway. + * + * @param {array} parameters.queries List of traffic queries. * * @param {object} [options] Optional Parameters. * @@ -15543,7 +19047,7 @@ export interface DefaultSecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15551,23 +19055,25 @@ export interface DefaultSecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRule} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRule} for more information. + * {NetworkConfigurationDiagnosticResponse} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkConfigurationDiagnosticResponse} for + * more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, callback: ServiceCallback): void; + getNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all default security rules in a network security group. + * Deletes the specified network watcher resource. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -15576,17 +19082,18 @@ export interface DefaultSecurityRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all default security rules in a network security group. + * Deletes the specified network watcher resource. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -15600,7 +19107,7 @@ export interface DefaultSecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15608,46 +19115,54 @@ export interface DefaultSecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRuleListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * NetworkWatchers - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface NetworkWatchers { + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a network watcher in the specified resource group. + * Verify IP flow from the specified VM to a location given the currently + * configured NSG rules. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters that define the network watcher - * resource. + * @param {object} parameters Parameters that define the IP flow to be + * verified. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform next-hop on. * - * @param {string} [parameters.id] Resource ID. + * @param {string} parameters.direction The direction of the packet represented + * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' * - * @param {string} [parameters.location] Resource location. + * @param {string} parameters.protocol Protocol to be verified on. Possible + * values include: 'TCP', 'UDP' * - * @param {object} [parameters.tags] Resource tags. + * @param {string} parameters.localPort The local port. Acceptable values are a + * single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.remotePort The remote port. Acceptable values are + * a single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.localIPAddress The local IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of them, then this + * parameter must be specified. Otherwise optional). * * @param {object} [options] Optional Parameters. * @@ -15656,30 +19171,49 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginVerifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a network watcher in the specified resource group. + * Verify IP flow from the specified VM to a location given the currently + * configured NSG rules. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters that define the network watcher - * resource. + * @param {object} parameters Parameters that define the IP flow to be + * verified. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform next-hop on. * - * @param {string} [parameters.id] Resource ID. + * @param {string} parameters.direction The direction of the packet represented + * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' * - * @param {string} [parameters.location] Resource location. + * @param {string} parameters.protocol Protocol to be verified on. Possible + * values include: 'TCP', 'UDP' * - * @param {object} [parameters.tags] Resource tags. + * @param {string} parameters.localPort The local port. Acceptable values are a + * single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.remotePort The remote port. Acceptable values are + * a single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.localIPAddress The local IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of them, then this + * parameter must be specified. Otherwise optional). * * @param {object} [options] Optional Parameters. * @@ -15693,7 +19227,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcher} - The deserialized result object. + * @resolve {VerificationIPFlowResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15701,24 +19235,39 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcher} for more information. + * {VerificationIPFlowResult} [result] - The deserialized result object if an error did not occur. + * See {@link VerificationIPFlowResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginVerifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginVerifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, callback: ServiceCallback): void; + beginVerifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified network watcher by resource group. + * Gets the next hop from the specified VM. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the source and destination + * endpoint. + * + * @param {string} parameters.targetResourceId The resource identifier of the + * target resource against which the action is to be performed. + * + * @param {string} parameters.sourceIPAddress The source IP address. + * + * @param {string} parameters.destinationIPAddress The destination IP address. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of the nics, then this + * parameter must be specified. Otherwise optional). * * @param {object} [options] Optional Parameters. * @@ -15727,19 +19276,33 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified network watcher by resource group. + * Gets the next hop from the specified VM. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * + * @param {object} parameters Parameters that define the source and destination + * endpoint. + * + * @param {string} parameters.targetResourceId The resource identifier of the + * target resource against which the action is to be performed. + * + * @param {string} parameters.sourceIPAddress The source IP address. + * + * @param {string} parameters.destinationIPAddress The destination IP address. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of the nics, then this + * parameter must be specified. Otherwise optional). + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15752,7 +19315,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcher} - The deserialized result object. + * @resolve {NextHopResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15760,25 +19323,30 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcher} for more information. + * {NextHopResult} [result] - The deserialized result object if an error did not occur. + * See {@link NextHopResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, callback: ServiceCallback): void; + beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network watcher resource. + * Gets the configured and effective security group rules on the specified VM. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * + * @param {object} parameters Parameters that define the VM to check security + * groups for. + * + * @param {string} parameters.targetResourceId ID of the target VM. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15786,19 +19354,24 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network watcher resource. + * Gets the configured and effective security group rules on the specified VM. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * + * @param {object} parameters Parameters that define the VM to check security + * groups for. + * + * @param {string} parameters.targetResourceId ID of the target VM. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15811,7 +19384,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {SecurityGroupViewResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15819,28 +19392,37 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {SecurityGroupViewResult} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityGroupViewResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, callback: ServiceCallback): void; + beginGetVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a network watcher tags. + * Initiate troubleshooting on a specified resource * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters supplied to update network watcher - * tags. + * @param {object} parameters Parameters that define the resource to + * troubleshoot. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. + * + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. + * + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * * @param {object} [options] Optional Parameters. * @@ -15849,23 +19431,30 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network watcher tags. + * Initiate troubleshooting on a specified resource * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters supplied to update network watcher - * tags. + * @param {object} parameters Parameters that define the resource to + * troubleshoot. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. + * + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. + * + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * * @param {object} [options] Optional Parameters. * @@ -15879,7 +19468,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcher} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15887,23 +19476,31 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcher} for more information. + * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. + * See {@link TroubleshootingResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, callback: ServiceCallback): void; + beginGetTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network watchers by resource group. + * Get the last completed troubleshooting result on a specified resource * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define the resource to query the + * troubleshooting result. + * + * @param {string} parameters.targetResourceId The target resource ID to query + * the troubleshooting result. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15911,17 +19508,25 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network watchers by resource group. + * Get the last completed troubleshooting result on a specified resource * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that define the resource to query the + * troubleshooting result. + * + * @param {string} parameters.targetResourceId The target resource ID to query + * the troubleshooting result. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -15934,7 +19539,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcherListResult} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15942,125 +19547,128 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkWatcherListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcherListResult} for more - * information. + * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. + * See {@link TroubleshootingResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, callback: ServiceCallback): void; + beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network watchers by subscription. - * - * @param {object} [options] Optional Parameters. + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @returns {Promise} A promise is returned + * @param {string} networkWatcherName The name of the network watcher resource. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} parameters Parameters that define the configuration of flow + * log. * - * @reject {Error|ServiceError} - The error object. - */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network watchers by subscription. + * @param {string} parameters.targetResourceId The ID of the resource to + * configure for flow log and traffic analytics (optional) . * - * @param {object} [options] Optional Parameters. + * @param {string} parameters.storageId ID of the storage account which is used + * to store the flow log. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {boolean} parameters.enabled Flag to enable/disable flow logging. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} [parameters.retentionPolicy] * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {number} [parameters.retentionPolicy.days] Number of days to retain + * flow log records. * - * {Promise} A promise is returned. + * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable + * retention. * - * @resolve {NetworkWatcherListResult} - The deserialized result object. + * @param {object} [parameters.flowAnalyticsConfiguration] * - * @reject {Error|ServiceError} - The error object. + * @param {object} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {boolean} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled + * Flag to enable/disable traffic analytics. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId + * The resource guid of the attached workspace * - * {NetworkWatcherListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcherListResult} for more - * information. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion + * The location of the attached workspace * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId + * Resource Id of the attached workspace * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets the current network topology by resource group. + * @param {object} [options] Optional Parameters. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} networkWatcherName The name of the network watcher. + * @returns {Promise} A promise is returned * - * @param {object} parameters Parameters that define the representation of - * topology. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.targetResourceGroupName] The name of the target - * resource group to perform topology on. + * @reject {Error|ServiceError} - The error object. + */ + beginSetFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @param {object} [parameters.targetVirtualNetwork] The reference of the - * Virtual Network resource. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {object} [parameters.targetSubnet] The reference of the Subnet - * resource. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} [parameters.targetSubnet.id] Resource ID. + * @param {object} parameters Parameters that define the configuration of flow + * log. * - * @param {object} [options] Optional Parameters. + * @param {string} parameters.targetResourceId The ID of the resource to + * configure for flow log and traffic analytics (optional) . * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} parameters.storageId ID of the storage account which is used + * to store the flow log. * - * @returns {Promise} A promise is returned + * @param {boolean} parameters.enabled Flag to enable/disable flow logging. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.retentionPolicy] * - * @reject {Error|ServiceError} - The error object. - */ - getTopologyWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets the current network topology by resource group. + * @param {number} [parameters.retentionPolicy.days] Number of days to retain + * flow log records. * - * @param {string} resourceGroupName The name of the resource group. + * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable + * retention. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {object} [parameters.flowAnalyticsConfiguration] * - * @param {object} parameters Parameters that define the representation of - * topology. + * @param {object} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration * - * @param {string} [parameters.targetResourceGroupName] The name of the target - * resource group to perform topology on. + * @param {boolean} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled + * Flag to enable/disable traffic analytics. * - * @param {object} [parameters.targetVirtualNetwork] The reference of the - * Virtual Network resource. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId + * The resource guid of the attached workspace * - * @param {object} [parameters.targetSubnet] The reference of the Subnet - * resource. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion + * The location of the attached workspace * - * @param {string} [parameters.targetSubnet.id] Resource ID. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId + * Resource Id of the attached workspace * * @param {object} [options] Optional Parameters. * @@ -16074,7 +19682,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {Topology} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16082,55 +19690,32 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Topology} [result] - The deserialized result object if an error did not occur. - * See {@link Topology} for more information. + * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. + * See {@link FlowLogInformation} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getTopology(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getTopology(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, callback: ServiceCallback): void; - getTopology(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginSetFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginSetFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, callback: ServiceCallback): void; + beginSetFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {object} parameters Parameters that define the IP flow to be - * verified. - * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. - * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' - * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' - * - * @param {string} parameters.localPort The local port. Acceptable values are a - * single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. + * Queries status of flow log and traffic analytics (optional) on a specified + * resource. * - * @param {string} parameters.remotePort The remote port. Acceptable values are - * a single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {object} parameters Parameters that define a resource to query flow + * log and traffic analytics (optional) status. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of them, then this - * parameter must be specified. Otherwise optional). + * @param {string} parameters.targetResourceId The target resource where + * getting the flow log and traffic analytics (optional) status. * * @param {object} [options] Optional Parameters. * @@ -16139,49 +19724,26 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - verifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {object} parameters Parameters that define the IP flow to be - * verified. - * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. - * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' - * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' - * - * @param {string} parameters.localPort The local port. Acceptable values are a - * single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. + * Queries status of flow log and traffic analytics (optional) on a specified + * resource. * - * @param {string} parameters.remotePort The remote port. Acceptable values are - * a single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {object} parameters Parameters that define a resource to query flow + * log and traffic analytics (optional) status. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of them, then this - * parameter must be specified. Otherwise optional). + * @param {string} parameters.targetResourceId The target resource where + * getting the flow log and traffic analytics (optional) status. * * @param {object} [options] Optional Parameters. * @@ -16195,7 +19757,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {VerificationIPFlowResult} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16203,39 +19765,66 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VerificationIPFlowResult} [result] - The deserialized result object if an error did not occur. - * See {@link VerificationIPFlowResult} for more - * information. + * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. + * See {@link FlowLogInformation} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, callback: ServiceCallback): void; - verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, callback: ServiceCallback): void; + beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the next hop from the specified VM. + * Verifies the possibility of establishing a direct TCP connection from a + * virtual machine to a given endpoint including another VM or an arbitrary + * remote server. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters that define the source and destination - * endpoint. + * @param {object} parameters Parameters that determine how the connectivity + * check will be performed. * - * @param {string} parameters.targetResourceId The resource identifier of the - * target resource against which the action is to be performed. + * @param {object} parameters.source * - * @param {string} parameters.sourceIPAddress The source IP address. + * @param {string} parameters.source.resourceId The ID of the resource from + * which a connectivity check will be initiated. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {number} [parameters.source.port] The source port from which a + * connectivity check will be performed. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of the nics, then this - * parameter must be specified. Otherwise optional). + * @param {object} parameters.destination + * + * @param {string} [parameters.destination.resourceId] The ID of the resource + * to which a connection attempt will be made. + * + * @param {string} [parameters.destination.address] The IP address or URI the + * resource to which a connection attempt will be made. + * + * @param {number} [parameters.destination.port] Port on which check + * connectivity will be performed. + * + * @param {string} [parameters.protocol] Network protocol. Possible values + * include: 'Tcp', 'Http', 'Https', 'Icmp' + * + * @param {object} [parameters.protocolConfiguration] + * + * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] + * + * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] + * HTTP method. Possible values include: 'Get' + * + * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] + * List of HTTP headers. + * + * @param {array} + * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid + * status codes. * * @param {object} [options] Optional Parameters. * @@ -16244,32 +19833,60 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCheckConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the next hop from the specified VM. + * Verifies the possibility of establishing a direct TCP connection from a + * virtual machine to a given endpoint including another VM or an arbitrary + * remote server. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters that define the source and destination - * endpoint. + * @param {object} parameters Parameters that determine how the connectivity + * check will be performed. * - * @param {string} parameters.targetResourceId The resource identifier of the - * target resource against which the action is to be performed. + * @param {object} parameters.source * - * @param {string} parameters.sourceIPAddress The source IP address. + * @param {string} parameters.source.resourceId The ID of the resource from + * which a connectivity check will be initiated. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {number} [parameters.source.port] The source port from which a + * connectivity check will be performed. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of the nics, then this - * parameter must be specified. Otherwise optional). + * @param {object} parameters.destination + * + * @param {string} [parameters.destination.resourceId] The ID of the resource + * to which a connection attempt will be made. + * + * @param {string} [parameters.destination.address] The IP address or URI the + * resource to which a connection attempt will be made. + * + * @param {number} [parameters.destination.port] Port on which check + * connectivity will be performed. + * + * @param {string} [parameters.protocol] Network protocol. Possible values + * include: 'Tcp', 'Http', 'Https', 'Icmp' + * + * @param {object} [parameters.protocolConfiguration] + * + * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] + * + * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] + * HTTP method. Possible values include: 'Get' + * + * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] + * List of HTTP headers. + * + * @param {array} + * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid + * status codes. * * @param {object} [options] Optional Parameters. * @@ -16283,7 +19900,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NextHopResult} - The deserialized result object. + * @resolve {ConnectivityInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16291,29 +19908,50 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NextHopResult} [result] - The deserialized result object if an error did not occur. - * See {@link NextHopResult} for more information. + * {ConnectivityInformation} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectivityInformation} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, callback: ServiceCallback): void; - getNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCheckConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCheckConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, callback: ServiceCallback): void; + beginCheckConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the configured and effective security group rules on the specified VM. + * Gets the relative latency score for internet service providers from a + * specified location to Azure regions. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * @param {object} parameters Parameters that determine Azure reachability + * report configuration. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {object} parameters.providerLocation + * + * @param {string} parameters.providerLocation.country The name of the country. + * + * @param {string} [parameters.providerLocation.state] The name of the state. + * + * @param {string} [parameters.providerLocation.city] The name of the city or + * town. + * + * @param {array} [parameters.providers] List of Internet service providers. + * + * @param {array} [parameters.azureLocations] Optional Azure regions to scope + * the query to. + * + * @param {date} parameters.startTime The start time for the Azure reachability + * report. + * + * @param {date} parameters.endTime The end time for the Azure reachability + * report. * * @param {object} [options] Optional Parameters. * @@ -16322,23 +19960,43 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the configured and effective security group rules on the specified VM. + * Gets the relative latency score for internet service providers from a + * specified location to Azure regions. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * @param {object} parameters Parameters that determine Azure reachability + * report configuration. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {object} parameters.providerLocation + * + * @param {string} parameters.providerLocation.country The name of the country. + * + * @param {string} [parameters.providerLocation.state] The name of the state. + * + * @param {string} [parameters.providerLocation.city] The name of the city or + * town. + * + * @param {array} [parameters.providers] List of Internet service providers. + * + * @param {array} [parameters.azureLocations] Optional Azure regions to scope + * the query to. + * + * @param {date} parameters.startTime The start time for the Azure reachability + * report. + * + * @param {date} parameters.endTime The end time for the Azure reachability + * report. * * @param {object} [options] Optional Parameters. * @@ -16352,7 +20010,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {SecurityGroupViewResult} - The deserialized result object. + * @resolve {AzureReachabilityReport} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16360,37 +20018,39 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityGroupViewResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityGroupViewResult} for more + * {AzureReachabilityReport} [result] - The deserialized result object if an error did not occur. + * See {@link AzureReachabilityReport} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, callback: ServiceCallback): void; - getVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, callback: ServiceCallback): void; + beginGetAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Initiate troubleshooting on a specified resource + * Lists all available internet service providers for a specified Azure region. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters that define the resource to - * troubleshoot. + * @param {object} parameters Parameters that scope the list of available + * providers. * - * @param {string} parameters.targetResourceId The target resource to - * troubleshoot. + * @param {array} [parameters.azureLocations] A list of Azure regions. * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * @param {string} [parameters.country] The country for available providers + * list. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} [parameters.state] The state for available providers list. + * + * @param {string} [parameters.city] The city or town for available providers + * list. * * @param {object} [options] Optional Parameters. * @@ -16399,30 +20059,32 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginListAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Initiate troubleshooting on a specified resource + * Lists all available internet service providers for a specified Azure region. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters that define the resource to - * troubleshoot. + * @param {object} parameters Parameters that scope the list of available + * providers. * - * @param {string} parameters.targetResourceId The target resource to - * troubleshoot. + * @param {array} [parameters.azureLocations] A list of Azure regions. * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * @param {string} [parameters.country] The country for available providers + * list. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} [parameters.state] The state for available providers list. + * + * @param {string} [parameters.city] The city or town for available providers + * list. * * @param {object} [options] Optional Parameters. * @@ -16436,7 +20098,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {AvailableProvidersList} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16444,30 +20106,34 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. - * See {@link TroubleshootingResult} for more information. + * {AvailableProvidersList} [result] - The deserialized result object if an error did not occur. + * See {@link AvailableProvidersList} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, callback: ServiceCallback): void; - getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, callback: ServiceCallback): void; + beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the last completed troubleshooting result on a specified resource + * Get network configuration diagnostic. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters that define the resource to query the - * troubleshooting result. + * @param {object} parameters Parameters to get network configuration + * diagnostic. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform network configuration diagnostic. Valid options are VM, + * NetworkInterface, VMSS/NetworkInterface and Application Gateway. + * + * @param {array} parameters.queries List of traffic queries. * * @param {object} [options] Optional Parameters. * @@ -16476,24 +20142,27 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the last completed troubleshooting result on a specified resource + * Get network configuration diagnostic. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters that define the resource to query the - * troubleshooting result. + * @param {object} parameters Parameters to get network configuration + * diagnostic. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform network configuration diagnostic. Valid options are VM, + * NetworkInterface, VMSS/NetworkInterface and Application Gateway. + * + * @param {array} parameters.queries List of traffic queries. * * @param {object} [options] Optional Parameters. * @@ -16507,7 +20176,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16515,66 +20184,68 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. - * See {@link TroubleshootingResult} for more information. + * {NetworkConfigurationDiagnosticResponse} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkConfigurationDiagnosticResponse} for + * more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, callback: ServiceCallback): void; - getTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, callback: ServiceCallback): void; + beginGetNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * PacketCaptures + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface PacketCaptures { /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. + * Create and start a packet capture on the specified VM. * - * @param {object} parameters Parameters that define the configuration of flow - * log. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} parameters.storageId ID of the storage account which is used - * to store the flow log. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. + * @param {object} parameters Parameters that define the create packet capture + * operation. * - * @param {object} [parameters.retentionPolicy] + * @param {string} parameters.target The ID of the targeted resource, only VM + * is currently supported. * - * @param {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. + * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes + * captured per packet, the remaining bytes are truncated. * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. + * @param {number} [parameters.totalBytesPerSession] Maximum size of the + * capture output. * - * @param {object} [parameters.flowAnalyticsConfiguration] + * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the + * capture session in seconds. * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * @param {object} parameters.storageLocation * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * @param {string} [parameters.storageLocation.storageId] The ID of the storage + * account to save the packet capture session. Required if no local file path + * is provided. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} [parameters.storageLocation.storagePath] The URI of the + * storage path to save the packet capture. Must be a well-formed URI + * describing the location to save the packet capture. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} [parameters.storageLocation.filePath] A valid local path on + * the targeting VM. Must include the name of the capture file (*.cap). For + * linux virtual machine it must start with /var/captures. Required if no + * storage ID is provided, otherwise optional. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {array} [parameters.filters] * * @param {object} [options] Optional Parameters. * @@ -16583,60 +20254,52 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - setFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. + * Create and start a packet capture on the specified VM. * - * @param {object} parameters Parameters that define the configuration of flow - * log. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} parameters.storageId ID of the storage account which is used - * to store the flow log. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. + * @param {object} parameters Parameters that define the create packet capture + * operation. * - * @param {object} [parameters.retentionPolicy] + * @param {string} parameters.target The ID of the targeted resource, only VM + * is currently supported. * - * @param {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. + * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes + * captured per packet, the remaining bytes are truncated. * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. + * @param {number} [parameters.totalBytesPerSession] Maximum size of the + * capture output. * - * @param {object} [parameters.flowAnalyticsConfiguration] + * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the + * capture session in seconds. * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * @param {object} parameters.storageLocation * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * @param {string} [parameters.storageLocation.storageId] The ID of the storage + * account to save the packet capture session. Required if no local file path + * is provided. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} [parameters.storageLocation.storagePath] The URI of the + * storage path to save the packet capture. Must be a well-formed URI + * describing the location to save the packet capture. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} [parameters.storageLocation.filePath] A valid local path on + * the targeting VM. Must include the name of the capture file (*.cap). For + * linux virtual machine it must start with /var/captures. Required if no + * storage ID is provided, otherwise optional. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {array} [parameters.filters] * * @param {object} [options] Optional Parameters. * @@ -16650,7 +20313,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16658,32 +20321,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. - * See {@link FlowLogInformation} for more information. + * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. + * See {@link PacketCaptureResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, callback: ServiceCallback): void; - setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + create(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + create(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, callback: ServiceCallback): void; + create(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Queries status of flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * Gets a packet capture session by name. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -16692,26 +20349,20 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Queries status of flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * Gets a packet capture session by name. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -16725,7 +20376,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16733,128 +20384,110 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. - * See {@link FlowLogInformation} for more information. + * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. + * See {@link PacketCaptureResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, callback: ServiceCallback): void; - getFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Verifies the possibility of establishing a direct TCP connection from a - * virtual machine to a given endpoint including another VM or an arbitrary - * remote server. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that determine how the connectivity - * check will be performed. - * - * @param {object} parameters.source - * - * @param {string} parameters.source.resourceId The ID of the resource from - * which a connectivity check will be initiated. + * Deletes the specified packet capture session. * - * @param {number} [parameters.source.port] The source port from which a - * connectivity check will be performed. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} parameters.destination + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * to which a connection attempt will be made. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {string} [parameters.destination.address] The IP address or URI the - * resource to which a connection attempt will be made. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.destination.port] Port on which check - * connectivity will be performed. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.protocol] Network protocol. Possible values - * include: 'Tcp', 'Http', 'Https', 'Icmp' + * @returns {Promise} A promise is returned * - * @param {object} [parameters.protocolConfiguration] + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified packet capture session. * - * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] - * HTTP method. Possible values include: 'Get' + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * - * @returns {Promise} A promise is returned + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @reject {Error|ServiceError} - The error object. - */ - checkConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Verifies the possibility of establishing a direct TCP connection from a - * virtual machine to a given endpoint including another VM or an arbitrary - * remote server. + * {Promise} A promise is returned. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @resolve {null} - The deserialized result object. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @reject {Error|ServiceError} - The error object. * - * @param {object} parameters Parameters that determine how the connectivity - * check will be performed. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} parameters.source + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} parameters.source.resourceId The ID of the resource from - * which a connectivity check will be initiated. + * {null} [result] - The deserialized result object if an error did not occur. * - * @param {number} [parameters.source.port] The source port from which a - * connectivity check will be performed. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {object} parameters.destination + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Stops a specified packet capture session. * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * to which a connection attempt will be made. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.destination.address] The IP address or URI the - * resource to which a connection attempt will be made. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {number} [parameters.destination.port] Port on which check - * connectivity will be performed. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {string} [parameters.protocol] Network protocol. Possible values - * include: 'Tcp', 'Http', 'Https', 'Icmp' + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.protocolConfiguration] + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Stops a specified packet capture session. * - * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] - * HTTP method. Possible values include: 'Get' + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -16868,7 +20501,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {ConnectivityInformation} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16876,95 +20509,109 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectivityInformation} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectivityInformation} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - checkConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - checkConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, callback: ServiceCallback): void; - checkConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the relative latency score for internet service providers from a - * specified location to Azure regions. + * Query the status of a running packet capture session. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} parameters Parameters that determine Azure reachability - * report configuration. + * @param {string} packetCaptureName The name given to the packet capture + * session. * - * @param {object} parameters.providerLocation + * @param {object} [options] Optional Parameters. * - * @param {string} parameters.providerLocation.country The name of the country. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.providerLocation.state] The name of the state. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.providerLocation.city] The name of the city or - * town. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} [parameters.providers] List of Internet service providers. + * @reject {Error|ServiceError} - The error object. + */ + getStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Query the status of a running packet capture session. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @param {string} resourceGroupName The name of the resource group. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * - * @returns {Promise} A promise is returned + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @reject {Error|ServiceError} - The error object. + * {Promise} A promise is returned. + * + * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {PacketCaptureQueryStatusResult} [result] - The deserialized result object if an error did not occur. + * See {@link PacketCaptureQueryStatusResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** - * Gets the relative latency score for internet service providers from a - * specified location to Azure regions. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. + * Lists all packet capture sessions within the specified resource group. * - * @param {object} parameters Parameters that determine Azure reachability - * report configuration. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} parameters.providerLocation + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.providerLocation.country The name of the country. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.providerLocation.state] The name of the state. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.providerLocation.city] The name of the city or - * town. + * @returns {Promise} A promise is returned * - * @param {array} [parameters.providers] List of Internet service providers. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists all packet capture sessions within the specified resource group. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {string} resourceGroupName The name of the resource group. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -16978,7 +20625,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AzureReachabilityReport} - The deserialized result object. + * @resolve {PacketCaptureListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16986,39 +20633,59 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureReachabilityReport} [result] - The deserialized result object if an error did not occur. - * See {@link AzureReachabilityReport} for more + * {PacketCaptureListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PacketCaptureListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, callback: ServiceCallback): void; - getAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all available internet service providers for a specified Azure region. + * Create and start a packet capture on the specified VM. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters that scope the list of available - * providers. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * @param {object} parameters Parameters that define the create packet capture + * operation. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} parameters.target The ID of the targeted resource, only VM + * is currently supported. * - * @param {string} [parameters.state] The state for available providers list. + * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes + * captured per packet, the remaining bytes are truncated. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {number} [parameters.totalBytesPerSession] Maximum size of the + * capture output. + * + * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the + * capture session in seconds. + * + * @param {object} parameters.storageLocation + * + * @param {string} [parameters.storageLocation.storageId] The ID of the storage + * account to save the packet capture session. Required if no local file path + * is provided. + * + * @param {string} [parameters.storageLocation.storagePath] The URI of the + * storage path to save the packet capture. Must be a well-formed URI + * describing the location to save the packet capture. + * + * @param {string} [parameters.storageLocation.filePath] A valid local path on + * the targeting VM. Must include the name of the capture file (*.cap). For + * linux virtual machine it must start with /var/captures. Required if no + * storage ID is provided, otherwise optional. + * + * @param {array} [parameters.filters] * * @param {object} [options] Optional Parameters. * @@ -17027,32 +20694,52 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all available internet service providers for a specified Azure region. + * Create and start a packet capture on the specified VM. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters that scope the list of available - * providers. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * @param {object} parameters Parameters that define the create packet capture + * operation. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} parameters.target The ID of the targeted resource, only VM + * is currently supported. * - * @param {string} [parameters.state] The state for available providers list. + * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes + * captured per packet, the remaining bytes are truncated. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {number} [parameters.totalBytesPerSession] Maximum size of the + * capture output. + * + * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the + * capture session in seconds. + * + * @param {object} parameters.storageLocation + * + * @param {string} [parameters.storageLocation.storageId] The ID of the storage + * account to save the packet capture session. Required if no local file path + * is provided. + * + * @param {string} [parameters.storageLocation.storagePath] The URI of the + * storage path to save the packet capture. Must be a well-formed URI + * describing the location to save the packet capture. + * + * @param {string} [parameters.storageLocation.filePath] A valid local path on + * the targeting VM. Must include the name of the capture file (*.cap). For + * linux virtual machine it must start with /var/captures. Required if no + * storage ID is provided, otherwise optional. + * + * @param {array} [parameters.filters] * * @param {object} [options] Optional Parameters. * @@ -17066,7 +20753,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AvailableProvidersList} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17074,34 +20761,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AvailableProvidersList} [result] - The deserialized result object if an error did not occur. - * See {@link AvailableProvidersList} for more - * information. + * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. + * See {@link PacketCaptureResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, callback: ServiceCallback): void; - listAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreate(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreate(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, callback: ServiceCallback): void; + beginCreate(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get network configuration diagnostic. + * Deletes the specified packet capture session. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters to get network configuration - * diagnostic. - * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform network configuration diagnostic. Valid options are VM, - * NetworkInterface, VMSS/NetworkInterface and Application Gateway. - * - * @param {array} parameters.queries List of traffic queries. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -17110,27 +20789,20 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get network configuration diagnostic. + * Deletes the specified packet capture session. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters to get network configuration - * diagnostic. - * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform network configuration diagnostic. Valid options are VM, - * NetworkInterface, VMSS/NetworkInterface and Application Gateway. - * - * @param {array} parameters.queries List of traffic queries. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -17144,7 +20816,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17152,26 +20824,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkConfigurationDiagnosticResponse} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkConfigurationDiagnosticResponse} for - * more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, callback: ServiceCallback): void; - getNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network watcher resource. + * Stops a specified packet capture session. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * + * @param {string} packetCaptureName The name of the packet capture session. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -17183,15 +20855,17 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network watcher resource. + * Stops a specified packet capture session. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkWatcherName The name of the network watcher. * + * @param {string} packetCaptureName The name of the packet capture session. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -17218,48 +20892,20 @@ export interface NetworkWatchers { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginStop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginStop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + beginStop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. + * Query the status of a running packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {object} parameters Parameters that define the IP flow to be - * verified. - * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. - * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' - * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' - * - * @param {string} parameters.localPort The local port. Acceptable values are a - * single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. - * - * @param {string} parameters.remotePort The remote port. Acceptable values are - * a single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. - * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. - * - * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of them, then this - * parameter must be specified. Otherwise optional). + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -17268,49 +20914,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginVerifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. + * Query the status of a running packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {object} parameters Parameters that define the IP flow to be - * verified. - * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. - * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' - * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' - * - * @param {string} parameters.localPort The local port. Acceptable values are a - * single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. - * - * @param {string} parameters.remotePort The remote port. Acceptable values are - * a single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. - * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. - * - * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of them, then this - * parameter must be specified. Otherwise optional). + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -17324,7 +20942,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {VerificationIPFlowResult} - The deserialized result object. + * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17332,39 +20950,69 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VerificationIPFlowResult} [result] - The deserialized result object if an error did not occur. - * See {@link VerificationIPFlowResult} for more + * {PacketCaptureQueryStatusResult} [result] - The deserialized result object if an error did not occur. + * See {@link PacketCaptureQueryStatusResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginVerifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginVerifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, callback: ServiceCallback): void; - beginVerifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + beginGetStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * ConnectionMonitors + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface ConnectionMonitors { /** - * Gets the next hop from the specified VM. + * Create or update a connection monitor. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} parameters Parameters that define the source and destination - * endpoint. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {string} parameters.targetResourceId The resource identifier of the - * target resource against which the action is to be performed. + * @param {object} parameters Parameters that define the operation to create a + * connection monitor. * - * @param {string} parameters.sourceIPAddress The source IP address. + * @param {string} [parameters.location] Connection monitor location. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {object} [parameters.tags] Connection monitor tags. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of the nics, then this - * parameter must be specified. Otherwise optional). + * @param {object} parameters.source + * + * @param {string} parameters.source.resourceId The ID of the resource used as + * the source by connection monitor. + * + * @param {number} [parameters.source.port] The source port used by connection + * monitor. + * + * @param {object} parameters.destination + * + * @param {string} [parameters.destination.resourceId] The ID of the resource + * used as the destination by connection monitor. + * + * @param {string} [parameters.destination.address] Address of the connection + * monitor destination (IP or domain name). + * + * @param {number} [parameters.destination.port] The destination port used by + * connection monitor. + * + * @param {boolean} [parameters.autoStart] Determines if the connection monitor + * will start automatically once created. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -17373,32 +21021,53 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the next hop from the specified VM. + * Create or update a connection monitor. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} parameters Parameters that define the source and destination - * endpoint. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {string} parameters.targetResourceId The resource identifier of the - * target resource against which the action is to be performed. + * @param {object} parameters Parameters that define the operation to create a + * connection monitor. * - * @param {string} parameters.sourceIPAddress The source IP address. + * @param {string} [parameters.location] Connection monitor location. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {object} [parameters.tags] Connection monitor tags. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of the nics, then this - * parameter must be specified. Otherwise optional). + * @param {object} parameters.source + * + * @param {string} parameters.source.resourceId The ID of the resource used as + * the source by connection monitor. + * + * @param {number} [parameters.source.port] The source port used by connection + * monitor. + * + * @param {object} parameters.destination + * + * @param {string} [parameters.destination.resourceId] The ID of the resource + * used as the destination by connection monitor. + * + * @param {string} [parameters.destination.address] Address of the connection + * monitor destination (IP or domain name). + * + * @param {number} [parameters.destination.port] The destination port used by + * connection monitor. + * + * @param {boolean} [parameters.autoStart] Determines if the connection monitor + * will start automatically once created. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -17412,7 +21081,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NextHopResult} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17420,29 +21089,28 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NextHopResult} [result] - The deserialized result object if an error did not occur. - * See {@link NextHopResult} for more information. + * {ConnectionMonitorResult} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionMonitorResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, callback: ServiceCallback): void; - beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the configured and effective security group rules on the specified VM. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets a connection monitor by name. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17451,23 +21119,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the configured and effective security group rules on the specified VM. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets a connection monitor by name. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17481,7 +21147,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {SecurityGroupViewResult} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17489,37 +21155,28 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityGroupViewResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityGroupViewResult} for more + * {ConnectionMonitorResult} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionMonitorResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, callback: ServiceCallback): void; - beginGetVMSecurityRules(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Initiate troubleshooting on a specified resource - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the resource to - * troubleshoot. + * Deletes the specified connection monitor. * - * @param {string} parameters.targetResourceId The target resource to - * troubleshoot. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17528,30 +21185,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Initiate troubleshooting on a specified resource - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the resource to - * troubleshoot. + * Deletes the specified connection monitor. * - * @param {string} parameters.targetResourceId The target resource to - * troubleshoot. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17565,7 +21213,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17573,30 +21221,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. - * See {@link TroubleshootingResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, callback: ServiceCallback): void; - beginGetTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the last completed troubleshooting result on a specified resource - * - * @param {string} resourceGroupName The name of the resource group. + * Stops the specified connection monitor. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters that define the resource to query the - * troubleshooting result. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17605,24 +21249,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the last completed troubleshooting result on a specified resource - * - * @param {string} resourceGroupName The name of the resource group. + * Stops the specified connection monitor. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters that define the resource to query the - * troubleshooting result. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17636,7 +21277,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17644,66 +21285,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. - * See {@link TroubleshootingResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, callback: ServiceCallback): void; - beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + stop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + stop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + stop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the configuration of flow - * log. - * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . - * - * @param {string} parameters.storageId ID of the storage account which is used - * to store the flow log. - * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. - * - * @param {object} [parameters.retentionPolicy] - * - * @param {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. - * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. - * - * @param {object} [parameters.flowAnalyticsConfiguration] - * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration - * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * Starts the specified connection monitor. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17712,60 +21313,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginSetFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + startWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the configuration of flow - * log. - * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . - * - * @param {string} parameters.storageId ID of the storage account which is used - * to store the flow log. - * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. - * - * @param {object} [parameters.retentionPolicy] - * - * @param {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. - * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. - * - * @param {object} [parameters.flowAnalyticsConfiguration] - * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration - * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * Starts the specified connection monitor. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -17779,7 +21341,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17787,32 +21349,27 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. - * See {@link FlowLogInformation} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginSetFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginSetFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, callback: ServiceCallback): void; - beginSetFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + start(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + start(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + start(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Queries status of flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * Query a snapshot of the most recent connection states. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -17821,26 +21378,22 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + queryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Queries status of flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * Query a snapshot of the most recent connection states. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -17854,7 +21407,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17862,66 +21415,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. - * See {@link FlowLogInformation} for more information. + * {ConnectionMonitorQueryResult} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionMonitorQueryResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, callback: ServiceCallback): void; - beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + query(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + query(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + query(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Verifies the possibility of establishing a direct TCP connection from a - * virtual machine to a given endpoint including another VM or an arbitrary - * remote server. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that determine how the connectivity - * check will be performed. - * - * @param {object} parameters.source - * - * @param {string} parameters.source.resourceId The ID of the resource from - * which a connectivity check will be initiated. - * - * @param {number} [parameters.source.port] The source port from which a - * connectivity check will be performed. - * - * @param {object} parameters.destination - * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * to which a connection attempt will be made. - * - * @param {string} [parameters.destination.address] The IP address or URI the - * resource to which a connection attempt will be made. - * - * @param {number} [parameters.destination.port] Port on which check - * connectivity will be performed. - * - * @param {string} [parameters.protocol] Network protocol. Possible values - * include: 'Tcp', 'Http', 'Https', 'Icmp' - * - * @param {object} [parameters.protocolConfiguration] - * - * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] - * - * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] - * HTTP method. Possible values include: 'Get' + * Lists all connection monitors for the specified Network Watcher. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -17930,60 +21443,19 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCheckConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Verifies the possibility of establishing a direct TCP connection from a - * virtual machine to a given endpoint including another VM or an arbitrary - * remote server. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that determine how the connectivity - * check will be performed. - * - * @param {object} parameters.source - * - * @param {string} parameters.source.resourceId The ID of the resource from - * which a connectivity check will be initiated. - * - * @param {number} [parameters.source.port] The source port from which a - * connectivity check will be performed. - * - * @param {object} parameters.destination - * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * to which a connection attempt will be made. - * - * @param {string} [parameters.destination.address] The IP address or URI the - * resource to which a connection attempt will be made. - * - * @param {number} [parameters.destination.port] Port on which check - * connectivity will be performed. - * - * @param {string} [parameters.protocol] Network protocol. Possible values - * include: 'Tcp', 'Http', 'Https', 'Icmp' - * - * @param {object} [parameters.protocolConfiguration] - * - * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] - * - * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] - * HTTP method. Possible values include: 'Get' + * Lists all connection monitors for the specified Network Watcher. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -17997,7 +21469,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {ConnectivityInformation} - The deserialized result object. + * @resolve {ConnectionMonitorListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18005,50 +21477,60 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectivityInformation} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectivityInformation} for more + * {ConnectionMonitorListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionMonitorListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCheckConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCheckConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, callback: ServiceCallback): void; - beginCheckConnectivity(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the relative latency score for internet service providers from a - * specified location to Azure regions. + * Create or update a connection monitor. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} parameters Parameters that determine Azure reachability - * report configuration. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {object} parameters.providerLocation + * @param {object} parameters Parameters that define the operation to create a + * connection monitor. * - * @param {string} parameters.providerLocation.country The name of the country. + * @param {string} [parameters.location] Connection monitor location. * - * @param {string} [parameters.providerLocation.state] The name of the state. + * @param {object} [parameters.tags] Connection monitor tags. * - * @param {string} [parameters.providerLocation.city] The name of the city or - * town. + * @param {object} parameters.source * - * @param {array} [parameters.providers] List of Internet service providers. + * @param {string} parameters.source.resourceId The ID of the resource used as + * the source by connection monitor. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @param {number} [parameters.source.port] The source port used by connection + * monitor. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {object} parameters.destination * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {string} [parameters.destination.resourceId] The ID of the resource + * used as the destination by connection monitor. + * + * @param {string} [parameters.destination.address] Address of the connection + * monitor destination (IP or domain name). + * + * @param {number} [parameters.destination.port] The destination port used by + * connection monitor. + * + * @param {boolean} [parameters.autoStart] Determines if the connection monitor + * will start automatically once created. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -18057,43 +21539,53 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the relative latency score for internet service providers from a - * specified location to Azure regions. + * Create or update a connection monitor. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} parameters Parameters that determine Azure reachability - * report configuration. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {object} parameters.providerLocation + * @param {object} parameters Parameters that define the operation to create a + * connection monitor. * - * @param {string} parameters.providerLocation.country The name of the country. + * @param {string} [parameters.location] Connection monitor location. * - * @param {string} [parameters.providerLocation.state] The name of the state. + * @param {object} [parameters.tags] Connection monitor tags. * - * @param {string} [parameters.providerLocation.city] The name of the city or - * town. + * @param {object} parameters.source * - * @param {array} [parameters.providers] List of Internet service providers. + * @param {string} parameters.source.resourceId The ID of the resource used as + * the source by connection monitor. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @param {number} [parameters.source.port] The source port used by connection + * monitor. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {object} parameters.destination * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {string} [parameters.destination.resourceId] The ID of the resource + * used as the destination by connection monitor. + * + * @param {string} [parameters.destination.address] Address of the connection + * monitor destination (IP or domain name). + * + * @param {number} [parameters.destination.port] The destination port used by + * connection monitor. + * + * @param {boolean} [parameters.autoStart] Determines if the connection monitor + * will start automatically once created. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -18107,7 +21599,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AzureReachabilityReport} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18115,39 +21607,28 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureReachabilityReport} [result] - The deserialized result object if an error did not occur. - * See {@link AzureReachabilityReport} for more + * {ConnectionMonitorResult} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionMonitorResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, callback: ServiceCallback): void; - beginGetAzureReachabilityReport(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all available internet service providers for a specified Azure region. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that scope the list of available - * providers. - * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * Deletes the specified connection monitor. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [parameters.state] The state for available providers list. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -18156,32 +21637,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginListAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all available internet service providers for a specified Azure region. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that scope the list of available - * providers. - * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * Deletes the specified connection monitor. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [parameters.state] The state for available providers list. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -18195,7 +21665,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AvailableProvidersList} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18203,34 +21673,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AvailableProvidersList} [result] - The deserialized result object if an error did not occur. - * See {@link AvailableProvidersList} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, callback: ServiceCallback): void; - beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get network configuration diagnostic. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. + * Stops the specified connection monitor. * - * @param {object} parameters Parameters to get network configuration - * diagnostic. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform network configuration diagnostic. Valid options are VM, - * NetworkInterface, VMSS/NetworkInterface and Application Gateway. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {array} parameters.queries List of traffic queries. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -18239,27 +21701,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get network configuration diagnostic. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. + * Stops the specified connection monitor. * - * @param {object} parameters Parameters to get network configuration - * diagnostic. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform network configuration diagnostic. Valid options are VM, - * NetworkInterface, VMSS/NetworkInterface and Application Gateway. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {array} parameters.queries List of traffic queries. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -18273,7 +21729,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18281,68 +21737,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkConfigurationDiagnosticResponse} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkConfigurationDiagnosticResponse} for - * more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, callback: ServiceCallback): void; - beginGetNetworkConfigurationDiagnostic(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * PacketCaptures - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface PacketCaptures { + beginStop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginStop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + beginStop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create and start a packet capture on the specified VM. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {string} packetCaptureName The name of the packet capture session. - * - * @param {object} parameters Parameters that define the create packet capture - * operation. - * - * @param {string} parameters.target The ID of the targeted resource, only VM - * is currently supported. - * - * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes - * captured per packet, the remaining bytes are truncated. - * - * @param {number} [parameters.totalBytesPerSession] Maximum size of the - * capture output. - * - * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the - * capture session in seconds. - * - * @param {object} parameters.storageLocation - * - * @param {string} [parameters.storageLocation.storageId] The ID of the storage - * account to save the packet capture session. Required if no local file path - * is provided. + * Starts the specified connection monitor. * - * @param {string} [parameters.storageLocation.storagePath] The URI of the - * storage path to save the packet capture. Must be a well-formed URI - * describing the location to save the packet capture. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [parameters.storageLocation.filePath] A valid local path on - * the targeting VM. Must include the name of the capture file (*.cap). For - * linux virtual machine it must start with /var/captures. Required if no - * storage ID is provided, otherwise optional. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {array} [parameters.filters] + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -18351,52 +21765,21 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginStartWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create and start a packet capture on the specified VM. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {string} packetCaptureName The name of the packet capture session. - * - * @param {object} parameters Parameters that define the create packet capture - * operation. - * - * @param {string} parameters.target The ID of the targeted resource, only VM - * is currently supported. - * - * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes - * captured per packet, the remaining bytes are truncated. - * - * @param {number} [parameters.totalBytesPerSession] Maximum size of the - * capture output. - * - * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the - * capture session in seconds. - * - * @param {object} parameters.storageLocation - * - * @param {string} [parameters.storageLocation.storageId] The ID of the storage - * account to save the packet capture session. Required if no local file path - * is provided. + * Starts the specified connection monitor. * - * @param {string} [parameters.storageLocation.storagePath] The URI of the - * storage path to save the packet capture. Must be a well-formed URI - * describing the location to save the packet capture. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [parameters.storageLocation.filePath] A valid local path on - * the targeting VM. Must include the name of the capture file (*.cap). For - * linux virtual machine it must start with /var/captures. Required if no - * storage ID is provided, otherwise optional. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {array} [parameters.filters] + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -18410,7 +21793,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18418,26 +21801,27 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - create(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - create(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, callback: ServiceCallback): void; - create(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginStart(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginStart(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + beginStart(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets a packet capture session by name. + * Query a snapshot of the most recent connection states. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -18446,20 +21830,22 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginQueryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a packet capture session by name. + * Query a snapshot of the most recent connection states. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -18473,7 +21859,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureResult} - The deserialized result object. + * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18481,26 +21867,30 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureResult} for more information. + * {ConnectionMonitorQueryResult} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionMonitorQueryResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginQuery(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginQuery(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; + beginQuery(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * Operations + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface Operations { /** - * Deletes the specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {string} packetCaptureName The name of the packet capture session. + * Lists all of the available Network Rest API operations. * * @param {object} [options] Optional Parameters. * @@ -18509,20 +21899,14 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {string} packetCaptureName The name of the packet capture session. + * Lists all of the available Network Rest API operations. * * @param {object} [options] Optional Parameters. * @@ -18536,7 +21920,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {OperationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18544,25 +21928,23 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {OperationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link OperationListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Stops a specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. + * Lists all of the available Network Rest API operations. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -18571,20 +21953,17 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops a specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. + * Lists all of the available Network Rest API operations. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -18598,7 +21977,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {OperationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18606,26 +21985,33 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {OperationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link OperationListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * PublicIPAddresses + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface PublicIPAddresses { /** - * Query the status of a running packet capture session. + * Deletes the specified public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -18634,21 +22020,18 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query the status of a running packet capture session. + * Deletes the specified public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -18662,7 +22045,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18670,48 +22053,50 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureQueryStatusResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureQueryStatusResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, publicIpAddressName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, publicIpAddressName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all packet capture sessions within the specified resource group. + * Gets the specified public IP address in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all packet capture sessions within the specified resource group. + * Gets the specified public IP address in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -18722,7 +22107,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureListResult} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18730,59 +22115,92 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureListResult} for more - * information. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, publicIpAddressName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, publicIpAddressName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create and start a packet capture on the specified VM. + * Creates or updates a static or dynamic public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. * - * @param {object} parameters Parameters that define the create packet capture - * operation. + * @param {object} [parameters.sku] The public IP address SKU. * - * @param {string} parameters.target The ID of the targeted resource, only VM - * is currently supported. + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' * - * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes - * captured per packet, the remaining bytes are truncated. + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' * - * @param {number} [parameters.totalBytesPerSession] Maximum size of the - * capture output. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the - * capture session in seconds. + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. * - * @param {object} parameters.storageLocation + * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the + * Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. * - * @param {string} [parameters.storageLocation.storageId] The ID of the storage - * account to save the packet capture session. Required if no local file path - * is provided. + * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified + * domain name of the A DNS record associated with the public IP. This is the + * concatenation of the domainNameLabel and the regionalized DNS zone. * - * @param {string} [parameters.storageLocation.storagePath] The URI of the - * storage path to save the packet capture. Must be a well-formed URI - * describing the location to save the packet capture. + * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. * - * @param {string} [parameters.storageLocation.filePath] A valid local path on - * the targeting VM. Must include the name of the capture file (*.cap). For - * linux virtual machine it must start with /var/captures. Required if no - * storage ID is provided, otherwise optional. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. * - * @param {array} [parameters.filters] + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. + * + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18791,52 +22209,86 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a static or dynamic public IP address. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpAddressName The name of the public IP address. + * + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. + * + * @param {object} [parameters.sku] The public IP address SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' + * + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. + * + * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the + * Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. * - * @reject {Error|ServiceError} - The error object. - */ - beginCreateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Create and start a packet capture on the specified VM. + * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified + * domain name of the A DNS record associated with the public IP. This is the + * concatenation of the domainNameLabel and the regionalized DNS zone. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. * - * @param {object} parameters Parameters that define the create packet capture - * operation. + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. * - * @param {string} parameters.target The ID of the targeted resource, only VM - * is currently supported. + * @param {string} [parameters.publicIPPrefix.id] Resource ID. * - * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes - * captured per packet, the remaining bytes are truncated. + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. * - * @param {number} [parameters.totalBytesPerSession] Maximum size of the - * capture output. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. * - * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the - * capture session in seconds. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {object} parameters.storageLocation + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} [parameters.storageLocation.storageId] The ID of the storage - * account to save the packet capture session. Required if no local file path - * is provided. + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. * - * @param {string} [parameters.storageLocation.storagePath] The URI of the - * storage path to save the packet capture. Must be a well-formed URI - * describing the location to save the packet capture. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [parameters.storageLocation.filePath] A valid local path on - * the targeting VM. Must include the name of the capture file (*.cap). For - * linux virtual machine it must start with /var/captures. Required if no - * storage ID is provided, otherwise optional. + * @param {string} [parameters.location] Resource location. * - * @param {array} [parameters.filters] + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18850,7 +22302,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureResult} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18858,26 +22310,29 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureResult} for more information. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreate(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreate(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, callback: ServiceCallback): void; - beginCreate(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified packet capture session. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {object} parameters Parameters supplied to update public IP address + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18886,20 +22341,23 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified packet capture session. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {object} parameters Parameters supplied to update public IP address + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18913,7 +22371,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18921,25 +22379,20 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Stops a specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {string} packetCaptureName The name of the packet capture session. + * Gets all the public IP addresses in a subscription. * * @param {object} [options] Optional Parameters. * @@ -18948,20 +22401,14 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops a specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {string} packetCaptureName The name of the packet capture session. + * Gets all the public IP addresses in a subscription. * * @param {object} [options] Optional Parameters. * @@ -18975,7 +22422,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18983,27 +22430,24 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginStop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginStop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - beginStop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Query the status of a running packet capture session. + * Gets all public IP addresses in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} packetCaptureName The name given to the packet capture - * session. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -19011,22 +22455,17 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query the status of a running packet capture session. + * Gets all public IP addresses in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} packetCaptureName The name given to the packet capture - * session. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -19039,7 +22478,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19047,124 +22486,125 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureQueryStatusResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureQueryStatusResult} for more + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - beginGetStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * ConnectionMonitors - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface ConnectionMonitors { + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create or update a connection monitor. + * Gets information about all public IP addresses on a virtual machine scale + * set level. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {object} [options] Optional Parameters. * - * @param {object} parameters Parameters that define the operation to create a - * connection monitor. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.location] Connection monitor location. + * @returns {Promise} A promise is returned * - * @param {object} [parameters.tags] Connection monitor tags. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} parameters.source + * @reject {Error|ServiceError} - The error object. + */ + listVirtualMachineScaleSetPublicIPAddressesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets information about all public IP addresses on a virtual machine scale + * set level. * - * @param {string} parameters.source.resourceId The ID of the resource used as - * the source by connection monitor. + * @param {string} resourceGroupName The name of the resource group. * - * @param {number} [parameters.source.port] The source port used by connection - * monitor. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {object} parameters.destination + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * used as the destination by connection monitor. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.destination.address] Address of the connection - * monitor destination (IP or domain name). + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {number} [parameters.destination.port] The destination port used by - * connection monitor. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * {Promise} A promise is returned. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * - * @param {object} [options] Optional Parameters. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @returns {Promise} A promise is returned + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more + * information. * - * @reject {Error|ServiceError} - The error object. + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** - * Create or update a connection monitor. + * Gets information about all public IP addresses in a virtual machine IP + * configuration in a virtual machine scale set. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} virtualmachineIndex The virtual machine index. * - * @param {object} parameters Parameters that define the operation to create a - * connection monitor. + * @param {string} networkInterfaceName The network interface name. * - * @param {string} [parameters.location] Connection monitor location. + * @param {string} ipConfigurationName The IP configuration name. * - * @param {object} [parameters.tags] Connection monitor tags. + * @param {object} [options] Optional Parameters. * - * @param {object} parameters.source + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} parameters.source.resourceId The ID of the resource used as - * the source by connection monitor. + * @returns {Promise} A promise is returned * - * @param {number} [parameters.source.port] The source port used by connection - * monitor. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} parameters.destination + * @reject {Error|ServiceError} - The error object. + */ + listVirtualMachineScaleSetVMPublicIPAddressesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets information about all public IP addresses in a virtual machine IP + * configuration in a virtual machine scale set. * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * used as the destination by connection monitor. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.destination.address] Address of the connection - * monitor destination (IP or domain name). + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {number} [parameters.destination.port] The destination port used by - * connection monitor. + * @param {string} virtualmachineIndex The virtual machine index. * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * @param {string} networkInterfaceName The network interface name. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @param {string} ipConfigurationName The IP configuration name. * * @param {object} [options] Optional Parameters. * @@ -19178,7 +22618,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19186,54 +22626,70 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionMonitorResult} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionMonitorResult} for more + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets a connection monitor by name. + * Get the specified public IP address in a virtual machine scale set. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} virtualmachineIndex The virtual machine index. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} ipConfigurationName The name of the IP configuration. + * + * @param {string} publicIpAddressName The name of the public IP Address. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getVirtualMachineScaleSetPublicIPAddressWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a connection monitor by name. + * Get the specified public IP address in a virtual machine scale set. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} virtualmachineIndex The virtual machine index. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} ipConfigurationName The name of the IP configuration. + * + * @param {string} publicIpAddressName The name of the public IP Address. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -19244,7 +22700,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19252,28 +22708,24 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionMonitorResult} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionMonitorResult} for more - * information. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getVirtualMachineScaleSetPublicIPAddress(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + getVirtualMachineScaleSetPublicIPAddress(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, callback: ServiceCallback): void; + getVirtualMachineScaleSetPublicIPAddress(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Deletes the specified public IP address. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -19286,17 +22738,14 @@ export interface ConnectionMonitors { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Deletes the specified public IP address. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -19324,20 +22773,85 @@ export interface ConnectionMonitors { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, publicIpAddressName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, publicIpAddressName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Stops the specified connection monitor. + * Creates or updates a static or dynamic public IP address. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. + * + * @param {object} [parameters.sku] The public IP address SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' + * + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. + * + * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the + * Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. + * + * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified + * domain name of the A DNS record associated with the public IP. This is the + * concatenation of the domainNameLabel and the regionalized DNS zone. + * + * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. + * + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. + * + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -19346,85 +22860,86 @@ export interface ConnectionMonitors { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} connectionMonitorName The name of the connection monitor. + * Creates or updates a static or dynamic public IP address. * - * @param {object} [options] Optional Parameters. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} [parameters.sku] The public IP address SKU. * - * {Promise} A promise is returned. + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' * - * @resolve {null} - The deserialized result object. + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' * - * @reject {Error|ServiceError} - The error object. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the + * Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified + * domain name of the A DNS record associated with the public IP. This is the + * concatenation of the domainNameLabel and the regionalized DNS zone. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - stop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - stop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - stop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Starts the specified connection monitor. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} [parameters.publicIPPrefix.id] Resource ID. * - * @param {object} [options] Optional Parameters. + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. - */ - startWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Starts the specified connection monitor. + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} [parameters.id] Resource ID. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} [parameters.location] Resource location. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -19438,7 +22953,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19446,27 +22961,29 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - start(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - start(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - start(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Query a snapshot of the most recent connection states. + * Updates public IP address tags. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {object} parameters Parameters supplied to update public IP address + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -19475,22 +22992,23 @@ export interface ConnectionMonitors { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - queryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query a snapshot of the most recent connection states. + * Updates public IP address tags. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {object} parameters Parameters supplied to update public IP address + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -19504,7 +23022,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19512,26 +23030,23 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionMonitorQueryResult} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionMonitorQueryResult} for more - * information. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - query(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - query(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - query(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all connection monitors for the specified Network Watcher. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Gets all the public IP addresses in a subscription. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19540,19 +23055,17 @@ export interface ConnectionMonitors { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all connection monitors for the specified Network Watcher. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Gets all the public IP addresses in a subscription. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19566,7 +23079,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorListResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19574,60 +23087,24 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionMonitorListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionMonitorListResult} for more + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create or update a connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} connectionMonitorName The name of the connection monitor. - * - * @param {object} parameters Parameters that define the operation to create a - * connection monitor. - * - * @param {string} [parameters.location] Connection monitor location. - * - * @param {object} [parameters.tags] Connection monitor tags. - * - * @param {object} parameters.source - * - * @param {string} parameters.source.resourceId The ID of the resource used as - * the source by connection monitor. - * - * @param {number} [parameters.source.port] The source port used by connection - * monitor. - * - * @param {object} parameters.destination - * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * used as the destination by connection monitor. - * - * @param {string} [parameters.destination.address] Address of the connection - * monitor destination (IP or domain name). - * - * @param {number} [parameters.destination.port] The destination port used by - * connection monitor. - * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * Gets all public IP addresses in a resource group. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19636,53 +23113,17 @@ export interface ConnectionMonitors { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or update a connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} connectionMonitorName The name of the connection monitor. - * - * @param {object} parameters Parameters that define the operation to create a - * connection monitor. - * - * @param {string} [parameters.location] Connection monitor location. - * - * @param {object} [parameters.tags] Connection monitor tags. - * - * @param {object} parameters.source - * - * @param {string} parameters.source.resourceId The ID of the resource used as - * the source by connection monitor. - * - * @param {number} [parameters.source.port] The source port used by connection - * monitor. - * - * @param {object} parameters.destination - * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * used as the destination by connection monitor. - * - * @param {string} [parameters.destination.address] Address of the connection - * monitor destination (IP or domain name). - * - * @param {number} [parameters.destination.port] The destination port used by - * connection monitor. - * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * Gets all public IP addresses in a resource group. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19696,7 +23137,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19704,28 +23145,25 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionMonitorResult} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionMonitorResult} for more + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * Gets information about all public IP addresses on a virtual machine scale + * set level. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19734,21 +23172,18 @@ export interface ConnectionMonitors { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * Gets information about all public IP addresses on a virtual machine scale + * set level. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19762,7 +23197,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19770,26 +23205,25 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listVirtualMachineScaleSetPublicIPAddressesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetPublicIPAddressesNext(nextPageLink: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetPublicIPAddressesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Stops the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * Gets information about all public IP addresses in a virtual machine IP + * configuration in a virtual machine scale set. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19798,21 +23232,18 @@ export interface ConnectionMonitors { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetVMPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * Gets information about all public IP addresses in a virtual machine IP + * configuration in a virtual machine scale set. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -19826,7 +23257,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19834,26 +23265,34 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginStop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginStop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - beginStop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listVirtualMachineScaleSetVMPublicIPAddressesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetVMPublicIPAddressesNext(nextPageLink: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetVMPublicIPAddressesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * PublicIPPrefixes + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface PublicIPPrefixes { /** - * Starts the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Deletes the specified public IP prefix. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -19866,17 +23305,14 @@ export interface ConnectionMonitors { * * @reject {Error|ServiceError} - The error object. */ - beginStartWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Starts the specified connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Deletes the specified public IP prefix. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -19904,48 +23340,44 @@ export interface ConnectionMonitors { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginStart(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginStart(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - beginStart(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, publicIpPrefixName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Query a snapshot of the most recent connection states. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Gets the specified public IP prefix in a specified resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} publicIpPrefixName The name of the PublicIPPrefx. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginQueryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query a snapshot of the most recent connection states. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Gets the specified public IP prefix in a specified resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} publicIpPrefixName The name of the PublicIPPrefx. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -19956,7 +23388,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19964,30 +23396,66 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionMonitorQueryResult} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionMonitorQueryResult} for more - * information. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginQuery(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginQuery(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, callback: ServiceCallback): void; - beginQuery(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * Operations - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface Operations { + get(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, publicIpPrefixName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all of the available Network Rest API operations. + * Creates or updates a static or dynamic public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. + * + * @param {object} [parameters.sku] The public IP prefix SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. + * + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. + * + * @param {string} [parameters.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -19996,71 +23464,60 @@ export interface Operations { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all of the available Network Rest API operations. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * Creates or updates a static or dynamic public IP prefix. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} resourceGroupName The name of the resource group. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * {Promise} A promise is returned. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @resolve {OperationListResult} - The deserialized result object. + * @param {object} [parameters.sku] The public IP prefix SKU. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. * - * {OperationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link OperationListResult} for more information. + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.ipPrefix] The allocated Prefix * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Lists all of the available Network Rest API operations. + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix resource. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @returns {Promise} A promise is returned + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.id] Resource ID. * - * @reject {Error|ServiceError} - The error object. - */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Lists all of the available Network Rest API operations. + * @param {string} [parameters.location] Resource location. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -20074,7 +23531,7 @@ export interface Operations { * * {Promise} A promise is returned. * - * @resolve {OperationListResult} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20082,33 +23539,29 @@ export interface Operations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {OperationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link OperationListResult} for more information. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * PublicIPAddresses - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface PublicIPAddresses { + createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified public IP address. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -20117,18 +23570,23 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP address. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -20142,7 +23600,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20150,50 +23608,39 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, publicIpAddressName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, publicIpAddressName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified public IP address in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} publicIpAddressName The name of the subnet. + * Gets all the public IP prefixes in a subscription. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified public IP address in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} publicIpAddressName The name of the subnet. + * Gets all the public IP prefixes in a subscription. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -20204,7 +23651,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20212,93 +23659,24 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddress} for more information. + * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefixListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, publicIpAddressName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, publicIpAddressName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a static or dynamic public IP address. + * Gets all public IP prefixes in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. - * - * @param {object} [parameters.sku] The public IP address SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' - * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. - * - * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the - * Domain name label.The concatenation of the domain name label and the - * regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * - * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified - * domain name of the A DNS record associated with the public IP. This is the - * concatenation of the domainNameLabel and the regionalized DNS zone. - * - * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the - * Reverse FQDN. A user-visible, fully qualified domain name that resolves to - * this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. - * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. - * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. - * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. - * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -20306,87 +23684,17 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP address. + * Gets all public IP prefixes in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. - * - * @param {object} [parameters.sku] The public IP address SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' - * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. - * - * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the - * Domain name label.The concatenation of the domain name label and the - * regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * - * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified - * domain name of the A DNS record associated with the public IP. This is the - * concatenation of the domainNameLabel and the regionalized DNS zone. - * - * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the - * Reverse FQDN. A user-visible, fully qualified domain name that resolves to - * this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. - * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. - * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. - * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. - * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -20399,7 +23707,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20407,29 +23715,25 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddress} for more information. - * + * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefixListResult} for more + * information. + * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates public IP address tags. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to update public IP address - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -20438,23 +23742,18 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP address tags. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to update public IP address - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -20468,7 +23767,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20476,20 +23775,65 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddress} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the public IP addresses in a subscription. + * Creates or updates a static or dynamic public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. + * + * @param {object} [parameters.sku] The public IP prefix SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. + * + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. + * + * @param {string} [parameters.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -20498,14 +23842,60 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP addresses in a subscription. + * Creates or updates a static or dynamic public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. + * + * @param {object} [parameters.sku] The public IP prefix SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. + * + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. + * + * @param {string} [parameters.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -20519,7 +23909,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20527,24 +23917,30 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more - * information. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all public IP addresses in a resource group. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -20552,17 +23948,24 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP addresses in a resource group. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -20575,7 +23978,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20583,27 +23986,23 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more - * information. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the public IP prefixes in a subscription. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -20612,20 +24011,17 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetPublicIPAddressesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the public IP prefixes in a subscription. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -20639,7 +24035,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20647,33 +24043,24 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more + * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefixListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about all public IP addresses in a virtual machine IP - * configuration in a virtual machine scale set. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The network interface name. + * Gets all public IP prefixes in a resource group. * - * @param {string} ipConfigurationName The IP configuration name. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -20682,26 +24069,17 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetVMPublicIPAddressesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all public IP addresses in a virtual machine IP - * configuration in a virtual machine scale set. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The network interface name. + * Gets all public IP prefixes in a resource group. * - * @param {string} ipConfigurationName The IP configuration name. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -20715,7 +24093,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20723,70 +24101,57 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more + * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefixListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetVMPublicIPAddresses(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * RouteFilters + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface RouteFilters { /** - * Get the specified public IP address in a virtual machine scale set. + * Deletes the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The name of the network interface. - * - * @param {string} ipConfigurationName The name of the IP configuration. - * - * @param {string} publicIpAddressName The name of the public IP Address. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getVirtualMachineScaleSetPublicIPAddressWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified public IP address in a virtual machine scale set. + * Deletes the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The name of the network interface. - * - * @param {string} ipConfigurationName The name of the IP configuration. - * - * @param {string} publicIpAddressName The name of the public IP Address. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -20797,7 +24162,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20805,47 +24170,52 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddress} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getVirtualMachineScaleSetPublicIPAddress(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - getVirtualMachineScaleSetPublicIPAddress(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, callback: ServiceCallback): void; - getVirtualMachineScaleSetPublicIPAddress(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, publicIpAddressName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified public IP address. + * Gets the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced express route bgp + * peering resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP address. + * Gets the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced express route bgp + * peering resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -20856,7 +24226,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20864,179 +24234,159 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {RouteFilter} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilter} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, publicIpAddressName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, publicIpAddressName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeFilterName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a static or dynamic public IP address. + * Creates or updates a route filter in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. - * - * @param {object} [parameters.sku] The public IP address SKU. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. + * @param {string} [routeFilterParameters.id] Resource ID. * - * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the - * Domain name label.The concatenation of the domain name label and the - * regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified - * domain name of the A DNS record associated with the public IP. This is the - * concatenation of the domainNameLabel and the regionalized DNS zone. + * @param {object} [routeFilterParameters.tags] Resource tags. * - * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the - * Reverse FQDN. A user-visible, fully qualified domain name that resolves to - * this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. + * @returns {Promise} A promise is returned * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a route filter in a specified resource group. * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {string} [parameters.id] Resource ID. + * @param {string} [routeFilterParameters.id] Resource ID. * - * @param {string} [parameters.location] Resource location. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * - * @returns {Promise} A promise is returned + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @reject {Error|ServiceError} - The error object. - */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a static or dynamic public IP address. + * {Promise} A promise is returned. * - * @param {string} resourceGroupName The name of the resource group. + * @resolve {RouteFilter} - The deserialized result object. * - * @param {string} publicIpAddressName The name of the public IP address. + * @reject {Error|ServiceError} - The error object. * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [parameters.sku] The public IP address SKU. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' + * {RouteFilter} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilter} for more information. * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates a route filter in a specified resource group. * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the - * Domain name label.The concatenation of the domain name label and the - * regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified - * domain name of the A DNS record associated with the public IP. This is the - * concatenation of the domainNameLabel and the regionalized DNS zone. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the - * Reverse FQDN. A user-visible, fully qualified domain name that resolves to - * this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. + * @reject {Error|ServiceError} - The error object. + */ + updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates a route filter in a specified resource group. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {string} [parameters.id] Resource ID. + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {string} [parameters.location] Resource location. + * @param {object} [routeFilterParameters.tags] Resource tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -21050,7 +24400,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21058,30 +24408,23 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddress} for more information. + * {RouteFilter} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilter} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates public IP address tags. + * Gets all route filters in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to update public IP address - * tags. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -21089,24 +24432,17 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP address tags. + * Gets all route filters in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to update public IP address - * tags. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -21119,7 +24455,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21127,23 +24463,20 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddress} for more information. + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the public IP addresses in a subscription. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all route filters in a subscription. * * @param {object} [options] Optional Parameters. * @@ -21152,17 +24485,14 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP addresses in a subscription. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all route filters in a subscription. * * @param {object} [options] Optional Parameters. * @@ -21176,7 +24506,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21184,24 +24514,24 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more - * information. + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all public IP addresses in a resource group. + * Deletes the specified route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -21210,17 +24540,18 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP addresses in a resource group. + * Deletes the specified route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -21234,7 +24565,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21242,25 +24573,38 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. + * Creates or updates a route filter in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {string} [routeFilterParameters.id] Resource ID. + * + * @param {string} [routeFilterParameters.location] Resource location. + * + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -21269,18 +24613,33 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. + * Creates or updates a route filter in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {string} [routeFilterParameters.id] Resource ID. + * + * @param {string} [routeFilterParameters.location] Resource location. + * + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -21294,7 +24653,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21302,25 +24661,37 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more - * information. + * {RouteFilter} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilter} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetPublicIPAddressesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetPublicIPAddressesNext(nextPageLink: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetPublicIPAddressesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about all public IP addresses in a virtual machine IP - * configuration in a virtual machine scale set. + * Updates a route filter in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -21329,18 +24700,31 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetVMPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all public IP addresses in a virtual machine IP - * configuration in a virtual machine scale set. + * Updates a route filter in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -21354,42 +24738,31 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * * {ServiceCallback} optionalCallback(err, result, request, response) * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. - * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more - * information. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {RouteFilter} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilter} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetVMPublicIPAddressesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetVMPublicIPAddressesNext(nextPageLink: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetVMPublicIPAddressesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * PublicIPPrefixes - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface PublicIPPrefixes { + beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified public IP prefix. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all route filters in a resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -21398,18 +24771,17 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP prefix. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all route filters in a resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -21423,7 +24795,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21431,50 +24803,45 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, publicIpPrefixName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified public IP prefix in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all route filters in a subscription. * - * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified public IP prefix in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all route filters in a subscription. * - * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -21485,7 +24852,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21493,66 +24860,35 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefix} for more information. + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, publicIpPrefixName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * RouteFilterRules + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface RouteFilterRules { /** - * Creates or updates a static or dynamic public IP prefix. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. - * - * @param {object} [parameters.sku] The public IP prefix SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. - * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. - * - * @param {string} [parameters.ipPrefix] The allocated Prefix - * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -21561,60 +24897,20 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP prefix. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. - * - * @param {object} [parameters.sku] The public IP prefix SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. - * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. - * - * @param {string} [parameters.ipPrefix] The allocated Prefix - * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -21628,7 +24924,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21636,29 +24932,25 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefix} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates public IP prefix tags. + * Gets the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -21667,23 +24959,20 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP prefix tags. + * Gets the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -21697,7 +24986,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21705,20 +24994,44 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefix} for more information. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a route in the specified route filter. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [routeFilterRuleParameters.location] Resource location. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all the public IP prefixes in a subscription. + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -21727,14 +25040,38 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP prefixes in a subscription. + * Creates or updates a route in the specified route filter. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeFilterRuleParameters.location] Resource location. + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -21748,7 +25085,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21756,24 +25093,39 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefixListResult} for more - * information. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all public IP prefixes in a resource group. + * Updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -21781,17 +25133,33 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP prefixes in a resource group. + * Updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -21804,7 +25172,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21812,25 +25180,24 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefixListResult} for more - * information. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified public IP prefix. + * Gets all RouteFilterRules in a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -21839,18 +25206,18 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByRouteFilterWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP prefix. + * Gets all RouteFilterRules in a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -21864,7 +25231,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteFilterRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21872,65 +25239,27 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRuleListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a static or dynamic public IP prefix. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. - * - * @param {object} [parameters.sku] The public IP prefix SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. - * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. - * - * @param {string} [parameters.ipPrefix] The allocated Prefix - * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -21939,60 +25268,20 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP prefix. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. - * - * @param {object} [parameters.sku] The public IP prefix SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. - * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. - * - * @param {string} [parameters.ipPrefix] The allocated Prefix - * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -22006,7 +25295,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22014,29 +25303,43 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefix} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates public IP prefix tags. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} [routeFilterRuleParameters.location] Resource location. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22045,23 +25348,38 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP prefix tags. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} ruleName The name of the route filter rule. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeFilterRuleParameters.location] Resource location. + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22075,7 +25393,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22083,23 +25401,38 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefix} for more information. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the public IP prefixes in a subscription. + * Updates a route in the specified route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22108,17 +25441,32 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP prefixes in a subscription. + * Updates a route in the specified route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22132,7 +25480,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22140,21 +25488,20 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefixListResult} for more - * information. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all public IP prefixes in a resource group. + * Gets all RouteFilterRules in a route filter. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -22166,14 +25513,14 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByRouteFilterNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP prefixes in a resource group. + * Gets all RouteFilterRules in a route filter. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -22190,7 +25537,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {RouteFilterRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22198,34 +25545,34 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefixListResult} for more + * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRuleListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByRouteFilterNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByRouteFilterNext(nextPageLink: string, callback: ServiceCallback): void; + listByRouteFilterNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** * @class - * RouteFilters + * RouteTables * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface RouteFilters { +export interface RouteTables { /** - * Deletes the specified route filter. + * Deletes the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -22238,14 +25585,14 @@ export interface RouteFilters { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route filter. + * Deletes the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -22273,135 +25620,44 @@ export interface RouteFilters { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + deleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - /** - * Gets the specified route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} [options] Optional Parameters. - * - * @param {string} [options.expand] Expands referenced express route bgp - * peering resources. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @returns {Promise} A promise is returned - * - * @resolve {HttpOperationResponse} - The deserialized result object. - * - * @reject {Error|ServiceError} - The error object. - */ - getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route filter. + * Gets the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced express route bgp - * peering resources. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @param {ServiceCallback} [optionalCallback] - The optional callback. - * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. - * - * {Promise} A promise is returned. - * - * @resolve {RouteFilter} - The deserialized result object. - * - * @reject {Error|ServiceError} - The error object. - * - * {ServiceCallback} optionalCallback(err, result, request, response) - * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. - * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. - * - * {WebResource} [request] - The HTTP Request object if an error did not occur. - * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - get(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeFilterName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Creates or updates a route filter in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. - * - * @param {string} [routeFilterParameters.id] Resource ID. - * - * @param {string} [routeFilterParameters.location] Resource location. - * - * @param {object} [routeFilterParameters.tags] Resource tags. - * - * @param {object} [options] Optional Parameters. + * @param {string} [options.expand] Expands referenced resources. * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. - * - * @reject {Error|ServiceError} - The error object. - */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a route filter in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. - * - * @param {string} [routeFilterParameters.id] Resource ID. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [routeFilterParameters.location] Resource location. + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified route table. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -22412,7 +25668,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22420,37 +25676,46 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeTableName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a route filter in a specified resource group. + * Create or updates a route table in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {object} routeFilterParameters Parameters supplied to the update - * route filter operation. + * @param {object} parameters Parameters supplied to the create or update route + * table operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22459,31 +25724,40 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route filter in a specified resource group. + * Create or updates a route table in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {object} routeFilterParameters Parameters supplied to the update - * route filter operation. + * @param {object} parameters Parameters supplied to the create or update route + * table operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22497,7 +25771,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22505,23 +25779,29 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; - update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a resource group. + * Updates a route table tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -22529,17 +25809,23 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a resource group. + * Updates a route table tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -22552,7 +25838,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22560,20 +25846,22 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a subscription. + * Gets all route tables in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -22582,14 +25870,16 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a subscription. + * Gets all route tables in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -22603,7 +25893,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22611,24 +25901,20 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. + * Gets all route tables in a subscription. * * @param {object} [options] Optional Parameters. * @@ -22637,18 +25923,14 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. + * Gets all route tables in a subscription. * * @param {object} [options] Optional Parameters. * @@ -22662,7 +25944,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22670,38 +25952,24 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a route filter in a specified resource group. + * Deletes the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. - * - * @param {string} [routeFilterParameters.id] Resource ID. - * - * @param {string} [routeFilterParameters.location] Resource location. - * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -22710,33 +25978,18 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route filter in a specified resource group. + * Deletes the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. - * - * @param {string} [routeFilterParameters.id] Resource ID. - * - * @param {string} [routeFilterParameters.location] Resource location. - * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -22750,7 +26003,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22758,37 +26011,45 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a route filter in a specified resource group. + * Create or updates a route table in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {object} routeFilterParameters Parameters supplied to the update - * route filter operation. + * @param {object} parameters Parameters supplied to the create or update route + * table operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. + * + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22797,31 +26058,40 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route filter in a specified resource group. + * Create or updates a route table in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {object} routeFilterParameters Parameters supplied to the update - * route filter operation. + * @param {object} parameters Parameters supplied to the create or update route + * table operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22835,7 +26105,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22843,23 +26113,28 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; - beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a resource group. + * Updates a route table tags. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22868,17 +26143,22 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a resource group. + * Updates a route table tags. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22892,7 +26172,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22900,20 +26180,20 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a subscription. + * Gets all route tables in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -22925,14 +26205,14 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a subscription. + * Gets all route tables in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -22949,7 +26229,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22957,35 +26237,23 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * RouteFilterRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface RouteFilterRules { + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified rule from a route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. + * Gets all route tables in a subscription. * - * @param {string} ruleName The name of the rule. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -22994,20 +26262,17 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified rule from a route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. + * Gets all route tables in a subscription. * - * @param {string} ruleName The name of the rule. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23021,7 +26286,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23029,25 +26294,35 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * Routes + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface Routes { /** - * Gets the specified rule from a route filter. + * Deletes the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the rule. + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -23056,20 +26331,20 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified rule from a route filter. + * Deletes the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the rule. + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -23083,7 +26358,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23091,44 +26366,25 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a route in the specified route filter. + * Gets the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} routeTableName The name of the route table. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -23137,38 +26393,20 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route filter. + * Gets the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} routeTableName The name of the route table. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -23182,7 +26420,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {Route} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23190,38 +26428,54 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {Route} [result] - The deserialized result object if an error did not occur. + * See {@link Route} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a route in the specified route filter. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the route filter rule. + * @param {string} routeName The name of the route. * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -23230,32 +26484,48 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route in the specified route filter. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the route filter rule. + * @param {string} routeName The name of the route. * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -23269,7 +26539,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {Route} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23277,24 +26547,24 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {Route} [result] - The deserialized result object if an error did not occur. + * See {@link Route} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; - update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all RouteFilterRules in a route filter. + * Gets all routes in a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -23303,18 +26573,18 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByRouteFilterWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all RouteFilterRules in a route filter. + * Gets all routes in a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -23328,7 +26598,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRuleListResult} - The deserialized result object. + * @resolve {RouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23336,27 +26606,26 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRuleListResult} for more - * information. + * {RouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByRouteFilter(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByRouteFilter(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - listByRouteFilter(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified rule from a route filter. + * Deletes the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the rule. + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -23369,16 +26638,16 @@ export interface RouteFilterRules { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified rule from a route filter. + * Deletes the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the rule. + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -23406,37 +26675,47 @@ export interface RouteFilterRules { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a route in the specified route filter. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the route filter rule. + * @param {string} routeName The name of the route. * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the * resource. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -23445,38 +26724,105 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route filter. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} routeTableName The name of the route table. * - * @param {string} ruleName The name of the route filter rule. + * @param {string} routeName The name of the route. * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. + * + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' + * + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [routeParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {Route} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {Route} [result] - The deserialized result object if an error did not occur. + * See {@link Route} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all routes in a route table. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @returns {Promise} A promise is returned * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all routes in a route table. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23490,7 +26836,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {RouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23498,38 +26844,29 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {RouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * BgpServiceCommunities + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface BgpServiceCommunities { /** - * Updates a route in the specified route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * Gets all the available bgp service communities. * * @param {object} [options] Optional Parameters. * @@ -23538,32 +26875,14 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route in the specified route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * Gets all the available bgp service communities. * * @param {object} [options] Optional Parameters. * @@ -23577,7 +26896,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {BgpServiceCommunityListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23585,20 +26904,21 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpServiceCommunityListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; - beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all RouteFilterRules in a route filter. + * Gets all the available bgp service communities. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23610,14 +26930,14 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByRouteFilterNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all RouteFilterRules in a route filter. + * Gets all the available bgp service communities. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23634,7 +26954,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRuleListResult} - The deserialized result object. + * @resolve {BgpServiceCommunityListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23642,34 +26962,35 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRuleListResult} for more + * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpServiceCommunityListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByRouteFilterNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByRouteFilterNext(nextPageLink: string, callback: ServiceCallback): void; - listByRouteFilterNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** * @class - * RouteTables + * ServiceEndpointPolicies * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface RouteTables { +export interface ServiceEndpointPolicies { /** - * Deletes the specified route table. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -23682,14 +27003,15 @@ export interface RouteTables { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route table. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -23717,17 +27039,18 @@ export interface RouteTables { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified route table. + * Gets the specified service Endpoint Policies in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -23738,18 +27061,19 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route table. + * Gets the specified service Endpoint Policies in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -23765,7 +27089,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23773,40 +27097,41 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicy} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeTableName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, serviceEndpointPolicyName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create or updates a route table in a specified resource group. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -23821,34 +27146,35 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or updates a route table in a specified resource group. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -23868,7 +27194,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23876,26 +27202,28 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicy} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a route table tags. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to update route table tags. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * * @param {object} [parameters.tags] Resource tags. * @@ -23906,20 +27234,22 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route table tags. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to update route table tags. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * * @param {object} [parameters.tags] Resource tags. * @@ -23935,7 +27265,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23943,22 +27273,20 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. - * + * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicy} for more information. + * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + update(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + update(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + update(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route tables in a resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the service endpoint policies in a subscription. * * @param {object} [options] Optional Parameters. * @@ -23967,16 +27295,14 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the service endpoint policies in a subscription. * * @param {object} [options] Optional Parameters. * @@ -23990,7 +27316,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23998,20 +27324,23 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route tables in a subscription. + * Gets all service endpoint Policies in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -24020,14 +27349,16 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a subscription. + * Gets all service endpoint Policies in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -24041,7 +27372,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24049,24 +27380,26 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route table. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -24079,14 +27412,15 @@ export interface RouteTables { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route table. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -24114,33 +27448,34 @@ export interface RouteTables { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create or updates a route table in a specified resource group. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -24155,34 +27490,35 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or updates a route table in a specified resource group. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -24202,7 +27538,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24210,26 +27546,28 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicy} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a route table tags. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to update route table tags. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * * @param {object} [parameters.tags] Resource tags. * @@ -24240,20 +27578,22 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route table tags. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to update route table tags. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * * @param {object} [parameters.tags] Resource tags. * @@ -24269,7 +27609,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24277,20 +27617,20 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicy} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route tables in a resource group. + * Gets all the service endpoint policies in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -24302,14 +27642,14 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a resource group. + * Gets all the service endpoint policies in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -24326,7 +27666,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24334,20 +27674,21 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route tables in a subscription. + * Gets all service endpoint Policies in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -24359,14 +27700,14 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a subscription. + * Gets all service endpoint Policies in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -24383,7 +27724,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24391,35 +27732,38 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** * @class - * Routes + * ServiceEndpointPolicyDefinitions * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface Routes { +export interface ServiceEndpointPolicyDefinitions { /** - * Deletes the specified route from a route table. + * Deletes the specified ServiceEndpoint policy definitions. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -24432,16 +27776,18 @@ export interface Routes { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route from a route table. + * Deletes the specified ServiceEndpoint policy definitions. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -24469,19 +27815,22 @@ export interface Routes { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified route from a route table. + * Get the specified service endpoint policy definitions from service endpoint + * policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * * @param {object} [options] Optional Parameters. * @@ -24490,20 +27839,23 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route from a route table. + * Get the specified service endpoint policy definitions from service endpoint + * policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * * @param {object} [options] Optional Parameters. * @@ -24517,7 +27869,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24525,54 +27877,55 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Route} [result] - The deserialized result object if an error did not occur. - * See {@link Route} for more information. + * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinition} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a route in the specified route table. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {string} [routeParameters.id] Resource ID. + * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24581,48 +27934,48 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route table. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {string} [routeParameters.id] Resource ID. + * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24636,7 +27989,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24644,24 +27997,26 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Route} [result] - The deserialized result object if an error did not occur. - * See {@link Route} for more information. + * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinition} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all routes in a route table. + * Gets all service endpoint policy definitions in a service end point policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * * @param {object} [options] Optional Parameters. * @@ -24670,18 +28025,19 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all routes in a route table. + * Gets all service endpoint policy definitions in a service end point policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * * @param {object} [options] Optional Parameters. * @@ -24695,7 +28051,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {RouteListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24703,26 +28059,29 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteListResult} for more information. + * {ServiceEndpointPolicyDefinitionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinitionListResult} + * for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroup(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, serviceEndpointPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route from a route table. + * Deletes the specified ServiceEndpoint policy definitions. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -24735,16 +28094,18 @@ export interface Routes { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route from a route table. + * Deletes the specified ServiceEndpoint policy definitions. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -24772,47 +28133,47 @@ export interface Routes { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a route in the specified route table. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {string} [routeParameters.id] Resource ID. + * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24821,48 +28182,48 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route table. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} routeName The name of the route. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {string} [routeParameters.id] Resource ID. + * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24876,7 +28237,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24884,20 +28245,21 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Route} [result] - The deserialized result object if an error did not occur. - * See {@link Route} for more information. + * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinition} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all routes in a route table. + * Gets all service endpoint policy definitions in a service end point policy. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -24909,14 +28271,14 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all routes in a route table. + * Gets all service endpoint policy definitions in a service end point policy. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -24933,7 +28295,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {RouteListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24941,29 +28303,32 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteListResult} for more information. + * {ServiceEndpointPolicyDefinitionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinitionListResult} + * for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** * @class - * BgpServiceCommunities + * Usages * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface BgpServiceCommunities { +export interface Usages { /** - * Gets all the available bgp service communities. + * List network usages for a subscription. + * + * @param {string} location The location where resource usage is queried. * * @param {object} [options] Optional Parameters. * @@ -24972,14 +28337,16 @@ export interface BgpServiceCommunities { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the available bgp service communities. + * List network usages for a subscription. + * + * @param {string} location The location where resource usage is queried. * * @param {object} [options] Optional Parameters. * @@ -24993,7 +28360,7 @@ export interface BgpServiceCommunities { * * {Promise} A promise is returned. * - * @resolve {BgpServiceCommunityListResult} - The deserialized result object. + * @resolve {UsagesListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25001,21 +28368,20 @@ export interface BgpServiceCommunities { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpServiceCommunityListResult} for more - * information. + * {UsagesListResult} [result] - The deserialized result object if an error did not occur. + * See {@link UsagesListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(location: string, callback: ServiceCallback): void; + list(location: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the available bgp service communities. + * List network usages for a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -25027,14 +28393,14 @@ export interface BgpServiceCommunities { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the available bgp service communities. + * List network usages for a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -25051,7 +28417,7 @@ export interface BgpServiceCommunities { * * {Promise} A promise is returned. * - * @resolve {BgpServiceCommunityListResult} - The deserialized result object. + * @resolve {UsagesListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25059,35 +28425,33 @@ export interface BgpServiceCommunities { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpServiceCommunityListResult} for more - * information. + * {UsagesListResult} [result] - The deserialized result object if an error did not occur. + * See {@link UsagesListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** * @class - * ServiceEndpointPolicies + * VirtualNetworks * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface ServiceEndpointPolicies { +export interface VirtualNetworks { /** - * Deletes the specified service endpoint policy. + * Deletes the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25100,15 +28464,14 @@ export interface ServiceEndpointPolicies { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified service endpoint policy. + * Deletes the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25136,18 +28499,17 @@ export interface ServiceEndpointPolicies { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified service Endpoint Policies in a specified resource group. + * Gets the specified virtual network by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25158,19 +28520,18 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified service Endpoint Policies in a specified resource group. + * Gets the specified virtual network by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25186,7 +28547,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25194,133 +28555,70 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicy} for more information. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, serviceEndpointPolicyName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service Endpoint Policies. + * Creates or updates a virtual network in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. - * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @returns {Promise} A promise is returned + * virtual network operation * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @reject {Error|ServiceError} - The error object. - */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a service Endpoint Policies. + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and * 'Failed'. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @param {ServiceCallback} [optionalCallback] - The optional callback. - * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. - * - * {Promise} A promise is returned. - * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. - * - * @reject {Error|ServiceError} - The error object. - * - * {ServiceCallback} optionalCallback(err, result, request, response) - * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS + * protection is enabled for all the protected resources in the virtual + * network. It requires a DDoS protection plan associated with the resource. * - * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicy} for more information. + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Updates service Endpoint Policies. + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} [parameters.id] Resource ID. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {string} [parameters.location] Resource location. * * @param {object} [parameters.tags] Resource tags. * @@ -25331,75 +28629,66 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates service Endpoint Policies. + * Creates or updates a virtual network in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters supplied to the create or update + * virtual network operation * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * {Promise} A promise is returned. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. * - * @reject {Error|ServiceError} - The error object. + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicy} for more information. + * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS + * protection is enabled for all the protected resources in the virtual + * network. It requires a DDoS protection plan associated with the resource. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - update(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - update(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - update(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all the service endpoint policies in a subscription. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.id] Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.location] Resource location. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all the service endpoint policies in a subscription. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25413,7 +28702,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25421,24 +28710,30 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyListResult} for more - * information. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint Policies in a resource group. + * Updates a virtual network tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -25446,17 +28741,24 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint Policies in a resource group. + * Updates a virtual network tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -25469,7 +28771,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25477,26 +28779,20 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyListResult} for more - * information. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified service endpoint policy. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * Gets all virtual networks in a subscription. * * @param {object} [options] Optional Parameters. * @@ -25505,19 +28801,14 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified service endpoint policy. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * Gets all virtual networks in a subscription. * * @param {object} [options] Optional Parameters. * @@ -25531,7 +28822,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25539,47 +28830,24 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service Endpoint Policies. + * Gets all virtual networks in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. - * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -25587,42 +28855,17 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service Endpoint Policies. + * Gets all virtual networks in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. - * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -25635,7 +28878,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25643,59 +28886,52 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicy} for more information. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates service Endpoint Policies. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * Checks whether a private IP address is available for use. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.ipAddress] The private IP address to be verified. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates service Endpoint Policies. + * Checks whether a private IP address is available for use. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.ipAddress] The private IP address to be verified. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -25706,7 +28942,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {IPAddressAvailabilityResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25714,23 +28950,25 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicy} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicy} for more information. + * {IPAddressAvailabilityResult} [result] - The deserialized result object if an error did not occur. + * See {@link IPAddressAvailabilityResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, options: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the service endpoint policies in a subscription. + * Lists usage stats. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25739,17 +28977,18 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listUsageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the service endpoint policies in a subscription. + * Lists usage stats. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25763,7 +29002,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25771,24 +29010,25 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyListResult} for more + * {VirtualNetworkListUsageResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListUsageResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listUsage(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listUsage(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + listUsage(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint Policies in a resource group. + * Deletes the specified virtual network. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25797,17 +29037,18 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint Policies in a resource group. + * Deletes the specified virtual network. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -25821,7 +29062,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25829,38 +29070,71 @@ export interface ServiceEndpointPolicies { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * ServiceEndpointPolicyDefinitions - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface ServiceEndpointPolicyDefinitions { + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Creates or updates a virtual network in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {object} parameters Parameters supplied to the create or update + * virtual network operation + * + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. + * + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. + * + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. + * + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. + * + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. + * + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS + * protection is enabled for all the protected resources in the virtual + * network. It requires a DDoS protection plan associated with the resource. + * + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. + * + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. + * + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25869,22 +29143,66 @@ export interface ServiceEndpointPolicyDefinitions { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Creates or updates a virtual network in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {object} parameters Parameters supplied to the create or update + * virtual network operation + * + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. + * + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. + * + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. + * + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. + * + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. + * + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS + * protection is enabled for all the protected resources in the virtual + * network. It requires a DDoS protection plan associated with the resource. + * + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. + * + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. + * + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25898,7 +29216,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25906,28 +29224,29 @@ export interface ServiceEndpointPolicyDefinitions { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the specified service endpoint policy definitions from service endpoint - * policy. + * Updates a virtual network tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25936,23 +29255,23 @@ export interface ServiceEndpointPolicyDefinitions { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified service endpoint policy definitions from service endpoint - * policy. + * Updates a virtual network tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25966,7 +29285,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25974,55 +29293,23 @@ export interface ServiceEndpointPolicyDefinitions { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyDefinition} for more - * information. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. - * - * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the - * create or update service endpoint policy operation. - * - * @param {string} [serviceEndpointPolicyDefinitions.description] A description - * for this rule. Restricted to 140 chars. - * - * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint - * name. - * - * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of - * service resources. - * - * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The - * provisioning state of the service end point policy definition. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * Gets all virtual networks in a subscription. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26031,48 +29318,17 @@ export interface ServiceEndpointPolicyDefinitions { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. - * - * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the - * create or update service endpoint policy operation. - * - * @param {string} [serviceEndpointPolicyDefinitions.description] A description - * for this rule. Restricted to 140 chars. - * - * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint - * name. - * - * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of - * service resources. - * - * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The - * provisioning state of the service end point policy definition. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * Gets all virtual networks in a subscription. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26086,7 +29342,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26094,26 +29350,24 @@ export interface ServiceEndpointPolicyDefinitions { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyDefinition} for more + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint policy definitions in a service end point policy. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all virtual networks in a resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26122,19 +29376,17 @@ export interface ServiceEndpointPolicyDefinitions { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint policy definitions in a service end point policy. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all virtual networks in a resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26148,7 +29400,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26156,29 +29408,24 @@ export interface ServiceEndpointPolicyDefinitions { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyDefinitionListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyDefinitionListResult} - * for more information. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroup(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroup(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, serviceEndpointPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified ServiceEndpoint policy definitions. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * Lists usage stats. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26187,22 +29434,17 @@ export interface ServiceEndpointPolicyDefinitions { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listUsageNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified ServiceEndpoint policy definitions. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * Lists usage stats. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26216,7 +29458,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26224,53 +29466,36 @@ export interface ServiceEndpointPolicyDefinitions { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkListUsageResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListUsageResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listUsageNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listUsageNext(nextPageLink: string, callback: ServiceCallback): void; + listUsageNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * Subnets + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface Subnets { /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. - * - * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the - * create or update service endpoint policy operation. - * - * @param {string} [serviceEndpointPolicyDefinitions.description] A description - * for this rule. Restricted to 140 chars. - * - * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint - * name. - * - * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of - * service resources. - * - * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The - * provisioning state of the service end point policy definition. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -26279,48 +29504,20 @@ export interface ServiceEndpointPolicyDefinitions { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. - * - * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the - * create or update service endpoint policy operation. - * - * @param {string} [serviceEndpointPolicyDefinitions.description] A description - * for this rule. Restricted to 140 chars. - * - * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint - * name. - * - * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of - * service resources. - * - * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The - * provisioning state of the service end point policy definition. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -26334,7 +29531,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26342,46 +29539,54 @@ export interface ServiceEndpointPolicyDefinitions { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyDefinition} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Gets the specified subnet by virtual network and resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Gets the specified subnet by virtual network and resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -26392,7 +29597,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. + * @resolve {Subnet} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26400,88 +29605,105 @@ export interface ServiceEndpointPolicyDefinitions { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ServiceEndpointPolicyDefinitionListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ServiceEndpointPolicyDefinitionListResult} - * for more information. + * {Subnet} [result] - The deserialized result object if an error did not occur. + * See {@link Subnet} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * Usages - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface Usages { + get(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * List network usages for a subscription. + * Creates or updates a subnet in the specified virtual network. * - * @param {string} location The location where resource usage is queried. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options] Optional Parameters. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} subnetName The name of the subnet. * - * @returns {Promise} A promise is returned + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * List network usages for a subscription. + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. * - * @param {string} location The location where resource usage is queried. + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @param {object} [options] Optional Parameters. + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {Promise} A promise is returned. + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @resolve {UsagesListResult} - The deserialized result object. + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. * - * {UsagesListResult} [result] - The deserialized result object if an error did not occur. - * See {@link UsagesListResult} for more information. + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - list(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(location: string, callback: ServiceCallback): void; - list(location: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * List network usages for a subscription. + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -26490,17 +29712,99 @@ export interface Usages { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * List network usages for a subscription. + * Creates or updates a subnet in the specified virtual network. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. + * + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. + * + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. + * + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. + * + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. + * + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. + * + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -26514,7 +29818,7 @@ export interface Usages { * * {Promise} A promise is returned. * - * @resolve {UsagesListResult} - The deserialized result object. + * @resolve {Subnet} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26522,29 +29826,20 @@ export interface Usages { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {UsagesListResult} [result] - The deserialized result object if an error did not occur. - * See {@link UsagesListResult} for more information. + * {Subnet} [result] - The deserialized result object if an error did not occur. + * See {@link Subnet} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VirtualNetworks - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworks { + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network. + * Gets all subnets in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * @@ -26557,14 +29852,14 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. + * Gets all subnets in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * @@ -26582,7 +29877,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {SubnetListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26590,49 +29885,50 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {SubnetListResult} [result] - The deserialized result object if an error did not occur. + * See {@link SubnetListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified virtual network by resource group. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options] Optional Parameters. + * @param {string} subnetName The name of the subnet. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network by resource group. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options] Optional Parameters. + * @param {string} subnetName The name of the subnet. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -26644,7 +29940,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26652,72 +29948,104 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a virtual network in the specified resource group. + * Creates or updates a subnet in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to the create or update - * virtual network operation + * @param {string} subnetName The name of the subnet. * - * @param {object} [parameters.addressSpace] The AddressSpace that contains an - * array of IP address ranges that can be used by subnets. + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. * - * @param {array} [parameters.addressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. * - * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an - * array of DNS servers available to VMs deployed in the virtual network. + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. * - * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers - * IP addresses. + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS - * protection is enabled for all the protected resources in the virtual - * network. It requires a DDoS protection plan associated with the resource. + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. * - * @param {string} [parameters.id] Resource ID. + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. * - * @param {string} [parameters.location] Resource location. + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -26726,66 +30054,156 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network in the specified resource group. + * Creates or updates a subnet in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. + * + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. + * + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. + * + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. + * + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. + * + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. + * + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [options] Optional Parameters. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} parameters Parameters supplied to the create or update - * virtual network operation + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.addressSpace] The AddressSpace that contains an - * array of IP address ranges that can be used by subnets. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} [parameters.addressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. + * {Promise} A promise is returned. * - * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an - * array of DNS servers available to VMs deployed in the virtual network. + * @resolve {Subnet} - The deserialized result object. * - * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers - * IP addresses. + * @reject {Error|ServiceError} - The error object. * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * {Subnet} [result] - The deserialized result object if an error did not occur. + * See {@link Subnet} for more information. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS - * protection is enabled for all the protected resources in the virtual - * network. It requires a DDoS protection plan associated with the resource. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all subnets in a virtual network. * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.id] Resource ID. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.location] Resource location. + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all subnets in a virtual network. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26799,7 +30217,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {SubnetListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26807,29 +30225,36 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {SubnetListResult} [result] - The deserialized result object if an error did not occur. + * See {@link SubnetListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VirtualNetworkPeerings + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworkPeerings { /** - * Updates a virtual network tags. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -26838,23 +30263,21 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -26868,7 +30291,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26876,20 +30299,26 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual networks in a subscription. + * Gets the specified virtual network peering. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -26898,14 +30327,21 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Gets the specified virtual network peering. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -26919,7 +30355,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {VirtualNetworkPeering} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26927,108 +30363,161 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkPeering} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual networks in a resource group. + * Creates or updates a peering in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options] Optional Parameters. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} virtualNetworkPeeringName The name of the peering. * - * @returns {Promise} A promise is returned + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] + * Whether the VMs in the linked virtual network space would be able to access + * all the VMs in local Virtual network space. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all virtual networks in a resource group. + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. * - * @param {string} resourceGroupName The name of the resource group. + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. + * + * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If + * remote gateways can be used on this virtual network. If the flag is set to + * true, and allowGatewayTransit on remote peering is also true, virtual + * network will use gateways of remote virtual network for transit. Only one + * peering can have this flag set to true. This flag cannot be set if virtual + * network already has a gateway. + * + * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The + * reference of the remote virtual network. The remote virtual network can be + * in the same or different region (preview). See here to register for the + * preview and learn more + * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + * + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. + * + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. + * + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' + * + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. + * + * @param {string} [virtualNetworkPeeringParameters.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @returns {Promise} A promise is returned * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * {Promise} A promise is returned. + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a peering in the specified virtual network. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @param {string} resourceGroupName The name of the resource group. * - * @reject {Error|ServiceError} - The error object. + * @param {string} virtualNetworkName The name of the virtual network. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} virtualNetworkPeeringName The name of the peering. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] + * Whether the VMs in the linked virtual network space would be able to access + * all the VMs in local Virtual network space. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Checks whether a private IP address is available for use. + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. * - * @param {string} resourceGroupName The name of the resource group. + * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If + * remote gateways can be used on this virtual network. If the flag is set to + * true, and allowGatewayTransit on remote peering is also true, virtual + * network will use gateways of remote virtual network for transit. Only one + * peering can have this flag set to true. This flag cannot be set if virtual + * network already has a gateway. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The + * reference of the remote virtual network. The remote virtual network can be + * in the same or different region (preview). See here to register for the + * preview and learn more + * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). * - * @param {object} [options] Optional Parameters. + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. * - * @param {string} [options.ipAddress] The private IP address to be verified. + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @returns {Promise} A promise is returned + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. * - * @reject {Error|ServiceError} - The error object. - */ - checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Checks whether a private IP address is available for use. + * @param {string} [virtualNetworkPeeringParameters.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.ipAddress] The private IP address to be verified. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -27039,7 +30528,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {IPAddressAvailabilityResult} - The deserialized result object. + * @resolve {VirtualNetworkPeering} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27047,21 +30536,20 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {IPAddressAvailabilityResult} [result] - The deserialized result object if an error did not occur. - * See {@link IPAddressAvailabilityResult} for more - * information. + * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkPeering} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, options: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists usage stats. + * Gets all virtual network peerings in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * @@ -27074,14 +30562,14 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listUsageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists usage stats. + * Gets all virtual network peerings in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * @@ -27099,7 +30587,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. + * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27107,26 +30595,29 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListUsageResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListUsageResult} for more + * {VirtualNetworkPeeringListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkPeeringListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listUsage(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listUsage(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - listUsage(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27138,15 +30629,18 @@ export interface VirtualNetworks { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27173,65 +30667,74 @@ export interface VirtualNetworks { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a virtual network in the specified resource group. + * Creates or updates a peering in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to the create or update - * virtual network operation - * - * @param {object} [parameters.addressSpace] The AddressSpace that contains an - * array of IP address ranges that can be used by subnets. - * - * @param {array} [parameters.addressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. + * @param {string} virtualNetworkPeeringName The name of the peering. * - * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an - * array of DNS servers available to VMs deployed in the virtual network. + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers - * IP addresses. + * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] + * Whether the VMs in the linked virtual network space would be able to access + * all the VMs in local Virtual network space. * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If + * remote gateways can be used on this virtual network. If the flag is set to + * true, and allowGatewayTransit on remote peering is also true, virtual + * network will use gateways of remote virtual network for transit. Only one + * peering can have this flag set to true. This flag cannot be set if virtual + * network already has a gateway. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The + * reference of the remote virtual network. The remote virtual network can be + * in the same or different region (preview). See here to register for the + * preview and learn more + * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). * - * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS - * protection is enabled for all the protected resources in the virtual - * network. It requires a DDoS protection plan associated with the resource. + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. * - * @param {string} [parameters.id] Resource ID. + * @param {string} [virtualNetworkPeeringParameters.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. * - * @param {string} [parameters.location] Resource location. + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -27240,66 +30743,75 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network in the specified resource group. + * Creates or updates a peering in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to the create or update - * virtual network operation - * - * @param {object} [parameters.addressSpace] The AddressSpace that contains an - * array of IP address ranges that can be used by subnets. - * - * @param {array} [parameters.addressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. + * @param {string} virtualNetworkPeeringName The name of the peering. * - * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an - * array of DNS servers available to VMs deployed in the virtual network. + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers - * IP addresses. + * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] + * Whether the VMs in the linked virtual network space would be able to access + * all the VMs in local Virtual network space. * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If + * remote gateways can be used on this virtual network. If the flag is set to + * true, and allowGatewayTransit on remote peering is also true, virtual + * network will use gateways of remote virtual network for transit. Only one + * peering can have this flag set to true. This flag cannot be set if virtual + * network already has a gateway. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The + * reference of the remote virtual network. The remote virtual network can be + * in the same or different region (preview). See here to register for the + * preview and learn more + * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). * - * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS - * protection is enabled for all the protected resources in the virtual - * network. It requires a DDoS protection plan associated with the resource. + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. * - * @param {string} [parameters.id] Resource ID. + * @param {string} [virtualNetworkPeeringParameters.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. * - * @param {string} [parameters.location] Resource location. + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -27313,7 +30825,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {VirtualNetworkPeering} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27321,29 +30833,23 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkPeering} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a virtual network tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * Gets all virtual network peerings in a virtual network. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -27352,23 +30858,17 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * Gets all virtual network peerings in a virtual network. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -27382,7 +30882,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27390,23 +30890,34 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {VirtualNetworkPeeringListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkPeeringListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VirtualNetworkTaps + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworkTaps { /** - * Gets all virtual networks in a subscription. + * Deletes the specified virtual network tap. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -27415,17 +30926,18 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Deletes the specified virtual network tap. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -27439,7 +30951,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27447,24 +30959,23 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, tapName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, tapName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual networks in a resource group. + * Gets information about the specified virtual network tap. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -27473,17 +30984,18 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a resource group. + * Gets information about the specified virtual network tap. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -27497,7 +31009,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27505,462 +31017,716 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * {VirtualNetworkTap} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, tapName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, tapName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists usage stats. + * Creates or updates a Virtual Network Tap. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options] Optional Parameters. + * @param {string} tapName The name of the virtual network tap. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. * - * @returns {Promise} A promise is returned + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap * - * @reject {Error|ServiceError} - The error object. - */ - listUsageNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Lists usage stats. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * {Promise} A promise is returned. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' * - * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. * - * @reject {Error|ServiceError} - The error object. + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * {VirtualNetworkListUsageResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListUsageResult} for more - * information. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listUsageNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listUsageNext(nextPageLink: string, callback: ServiceCallback): void; - listUsageNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * Subnets - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface Subnets { - - - /** - * Deletes the specified subnet. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {string} subnetName The name of the subnet. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. * - * @returns {Promise} A promise is returned + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @reject {Error|ServiceError} - The error object. - */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified subnet. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. * - * @param {string} subnetName The name of the subnet. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {object} [options] Optional Parameters. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * {Promise} A promise is returned. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * @resolve {null} - The deserialized result object. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets the specified subnet by virtual network and resource group. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @param {string} resourceGroupName The name of the resource group. + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * @param {string} subnetName The name of the subnet. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} [options.expand] Expands referenced resources. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * @returns {Promise} A promise is returned + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * @reject {Error|ServiceError} - The error object. - */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets the specified subnet by virtual network and resource group. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} subnetName The name of the subnet. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {string} [options.expand] Expands referenced resources. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * {Promise} A promise is returned. + * @param {string} [parameters.id] Resource ID. * - * @resolve {Subnet} - The deserialized result object. + * @param {string} [parameters.location] Resource location. * - * @reject {Error|ServiceError} - The error object. + * @param {object} [parameters.tags] Resource tags. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [options] Optional Parameters. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * {Subnet} [result] - The deserialized result object if an error did not occur. - * See {@link Subnet} for more information. + * @returns {Promise} A promise is returned * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + * @reject {Error|ServiceError} - The error object. */ - get(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a subnet in the specified virtual network. + * Creates or updates a Virtual Network Tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {string} subnetName The name of the subnet. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. - * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. - * - * @param {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @param {string} tapName The name of the virtual network tap. * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @param {string} [subnetParameters.routeTable.id] Resource ID. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @returns {Promise} A promise is returned + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @reject {Error|ServiceError} - The error object. - */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a subnet in the specified virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} subnetName The name of the subnet. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * @param {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {string} [subnetParameters.routeTable.id] Resource ID. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * {Promise} A promise is returned. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @resolve {Subnet} - The deserialized result object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * {Subnet} [result] - The deserialized result object if an error did not occur. - * See {@link Subnet} for more information. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all subnets in a virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * - * @returns {Promise} A promise is returned + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all subnets in a virtual network. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.id] Resource ID. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -27974,7 +31740,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {SubnetListResult} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27982,26 +31748,29 @@ export interface Subnets { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SubnetListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SubnetListResult} for more information. + * {VirtualNetworkTap} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified subnet. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the tap. * - * @param {string} subnetName The name of the subnet. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28010,20 +31779,23 @@ export interface Subnets { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified subnet. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the tap. * - * @param {string} subnetName The name of the subnet. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28037,213 +31809,100 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * * {ServiceCallback} optionalCallback(err, result, request, response) * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. - * - * {null} [result] - The deserialized result object if an error did not occur. - * - * {WebResource} [request] - The HTTP Request object if an error did not occur. - * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Creates or updates a subnet in the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {string} subnetName The name of the subnet. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. - * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. - * - * @param {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. - * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. - * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. - * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. - * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.routeTable.id] Resource ID. - * - * @param {string} [subnetParameters.routeTable.location] Resource location. - * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. - * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. - * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. - * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. - * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [subnetParameters.id] Resource ID. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @returns {Promise} A promise is returned - * - * @resolve {HttpOperationResponse} - The deserialized result object. - * - * @reject {Error|ServiceError} - The error object. - */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a subnet in the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {string} subnetName The name of the subnet. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. + * {VirtualNetworkTap} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + updateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @param {object} [options] Optional Parameters. * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. + * @returns {Promise} A promise is returned * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @reject {Error|ServiceError} - The error object. + */ + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. + * @param {object} [options] Optional Parameters. * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * {Promise} A promise is returned. * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [subnetParameters.routeTable.id] Resource ID. + * {VirtualNetworkTapListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. + * @param {object} [options] Optional Parameters. * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @returns {Promise} A promise is returned * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @reject {Error|ServiceError} - The error object. + */ + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -28257,7 +31916,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28265,23 +31924,25 @@ export interface Subnets { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Subnet} [result] - The deserialized result object if an error did not occur. - * See {@link Subnet} for more information. + * {VirtualNetworkTapListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all subnets in a virtual network. + * Deletes the specified virtual network tap. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -28290,17 +31951,18 @@ export interface Subnets { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all subnets in a virtual network. + * Deletes the specified virtual network tap. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -28314,7 +31976,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {SubnetListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28322,100 +31984,359 @@ export interface Subnets { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SubnetListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SubnetListResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VirtualNetworkPeerings - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworkPeerings { + beginDeleteMethod(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, tapName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, tapName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network peering. + * Creates or updates a Virtual Network Tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the virtual network tap. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. + * + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. + * + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. + * + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * @returns {Promise} A promise is returned + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @reject {Error|ServiceError} - The error object. - */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified virtual network peering. + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * {Promise} A promise is returned. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * @resolve {null} - The deserialized result object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets the specified virtual network peering. + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} [parameters.id] Resource ID. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28424,253 +32345,354 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network peering. + * Creates or updates a Virtual Network Tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the virtual network tap. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. * - * @param {object} [options] Optional Parameters. + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * {Promise} A promise is returned. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' * - * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeering} for more information. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Creates or updates a peering in the specified virtual network. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkPeeringName The name of the peering. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] - * Whether the VMs in the linked virtual network space would be able to access - * all the VMs in local Virtual network space. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The - * reference of the remote virtual network. The remote virtual network can be - * in the same or different region (preview). See here to register for the - * preview and learn more - * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * @param {string} [virtualNetworkPeeringParameters.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * @returns {Promise} A promise is returned + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. * - * @reject {Error|ServiceError} - The error object. - */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a peering in the specified virtual network. + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * @param {string} virtualNetworkPeeringName The name of the peering. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] - * Whether the VMs in the linked virtual network space would be able to access - * all the VMs in local Virtual network space. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. * - * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The - * reference of the remote virtual network. The remote virtual network can be - * in the same or different region (preview). See here to register for the - * preview and learn more - * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] * Resource ID. * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. * - * @param {string} [virtualNetworkPeeringParameters.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * {Promise} A promise is returned. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeering} for more information. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all virtual network peerings in a virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * - * @returns {Promise} A promise is returned + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all virtual network peerings in a virtual network. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.id] Resource ID. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28684,7 +32706,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28692,28 +32714,29 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkPeeringListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeeringListResult} for more - * information. + * {VirtualNetworkTap} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network peering. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the tap. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28722,21 +32745,23 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network peering. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the tap. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28750,7 +32775,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28758,80 +32783,23 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkTap} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a peering in the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {string} virtualNetworkPeeringName The name of the peering. - * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] - * Whether the VMs in the linked virtual network space would be able to access - * all the VMs in local Virtual network space. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. - * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. - * - * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The - * reference of the remote virtual network. The remote virtual network can be - * in the same or different region (preview). See here to register for the - * preview and learn more - * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. - * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. - * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' - * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. - * - * @param {string} [virtualNetworkPeeringParameters.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28840,75 +32808,17 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a peering in the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {string} virtualNetworkPeeringName The name of the peering. - * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] - * Whether the VMs in the linked virtual network space would be able to access - * all the VMs in local Virtual network space. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. - * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. - * - * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The - * reference of the remote virtual network. The remote virtual network can be - * in the same or different region (preview). See here to register for the - * preview and learn more - * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. - * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. - * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' - * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. - * - * @param {string} [virtualNetworkPeeringParameters.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28922,7 +32832,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28930,20 +32840,21 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeering} for more information. + * {VirtualNetworkTapListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual network peerings in a virtual network. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -28955,14 +32866,14 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network peerings in a virtual network. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -28979,7 +32890,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28987,17 +32898,17 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkPeeringListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeeringListResult} for more + * {VirtualNetworkTapListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** diff --git a/lib/services/networkManagement2/lib/operations/index.js b/lib/services/networkManagement2/lib/operations/index.js index c5b465fa20..1110b0037b 100644 --- a/lib/services/networkManagement2/lib/operations/index.js +++ b/lib/services/networkManagement2/lib/operations/index.js @@ -37,6 +37,7 @@ exports.LoadBalancerProbes = require('./loadBalancerProbes'); exports.NetworkInterfaces = require('./networkInterfaces'); exports.NetworkInterfaceIPConfigurations = require('./networkInterfaceIPConfigurations'); exports.NetworkInterfaceLoadBalancers = require('./networkInterfaceLoadBalancers'); +exports.NetworkInterfaceTapConfigurations = require('./networkInterfaceTapConfigurations'); exports.NetworkSecurityGroups = require('./networkSecurityGroups'); exports.SecurityRules = require('./securityRules'); exports.DefaultSecurityRules = require('./defaultSecurityRules'); @@ -57,6 +58,7 @@ exports.Usages = require('./usages'); exports.VirtualNetworks = require('./virtualNetworks'); exports.Subnets = require('./subnets'); exports.VirtualNetworkPeerings = require('./virtualNetworkPeerings'); +exports.VirtualNetworkTaps = require('./virtualNetworkTaps'); exports.VirtualNetworkGateways = require('./virtualNetworkGateways'); exports.VirtualNetworkGatewayConnections = require('./virtualNetworkGatewayConnections'); exports.LocalNetworkGateways = require('./localNetworkGateways'); diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js b/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js new file mode 100644 index 0000000000..dc56651952 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js @@ -0,0 +1,3696 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const msRest = require('ms-rest'); +const msRestAzure = require('ms-rest-azure'); +const WebResource = msRest.WebResource; + + +/** + * Deletes the specified tap configuration from the NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _deleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + + if (!callback) { + throw new Error('callback cannot be null.'); + } + + // Send request + this.beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, (err, parsedResult, httpRequest, response) => { + if (err) return callback(err); + + let initialResult = new msRest.HttpOperationResponse(); + initialResult.request = httpRequest; + initialResult.response = response; + initialResult.body = response.body; + client.getLongRunningOperationResult(initialResult, options, (err, pollingResult) => { + if (err) return callback(err); + + // Create Result + let result = null; + + httpRequest = pollingResult.request; + response = pollingResult.response; + let responseBody = pollingResult.body; + if (responseBody === '') responseBody = null; + + // Deserialize Response + + return callback(null, result, httpRequest, response); + }); + }); +} + +/** + * Get the specified tap configuration on a network interface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _get(resourceGroupName, networkInterfaceName, tapConfigurationName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (networkInterfaceName === null || networkInterfaceName === undefined || typeof networkInterfaceName.valueOf() !== 'string') { + throw new Error('networkInterfaceName cannot be null or undefined and it must be of type string.'); + } + if (tapConfigurationName === null || tapConfigurationName === undefined || typeof tapConfigurationName.valueOf() !== 'string') { + throw new Error('tapConfigurationName cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{networkInterfaceName}', encodeURIComponent(networkInterfaceName)); + requestUrl = requestUrl.replace('{tapConfigurationName}', encodeURIComponent(tapConfigurationName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['NetworkInterfaceTapConfiguration']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + + +/** + * Creates or updates a Tap configuration in the specified NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _createOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + + if (!callback) { + throw new Error('callback cannot be null.'); + } + + // Send request + this.beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, (err, parsedResult, httpRequest, response) => { + if (err) return callback(err); + + let initialResult = new msRest.HttpOperationResponse(); + initialResult.request = httpRequest; + initialResult.response = response; + initialResult.body = response.body; + client.getLongRunningOperationResult(initialResult, options, (err, pollingResult) => { + if (err) return callback(err); + + // Create Result + let result = null; + + httpRequest = pollingResult.request; + response = pollingResult.response; + let responseBody = pollingResult.body; + if (responseBody === '') responseBody = null; + + // Deserialize Response + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['NetworkInterfaceTapConfiguration']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + + return callback(null, result, httpRequest, response); + }); + }); +} + +/** + * Get all Tap configurations in a network interface + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfigurationListResult} + * for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _list(resourceGroupName, networkInterfaceName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (networkInterfaceName === null || networkInterfaceName === undefined || typeof networkInterfaceName.valueOf() !== 'string') { + throw new Error('networkInterfaceName cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{networkInterfaceName}', encodeURIComponent(networkInterfaceName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['NetworkInterfaceTapConfigurationListResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Deletes the specified tap configuration from the NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (networkInterfaceName === null || networkInterfaceName === undefined || typeof networkInterfaceName.valueOf() !== 'string') { + throw new Error('networkInterfaceName cannot be null or undefined and it must be of type string.'); + } + if (tapConfigurationName === null || tapConfigurationName === undefined || typeof tapConfigurationName.valueOf() !== 'string') { + throw new Error('tapConfigurationName cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{networkInterfaceName}', encodeURIComponent(networkInterfaceName)); + requestUrl = requestUrl.replace('{tapConfigurationName}', encodeURIComponent(tapConfigurationName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'DELETE'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200 && statusCode !== 202 && statusCode !== 204) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Creates or updates a Tap configuration in the specified NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (networkInterfaceName === null || networkInterfaceName === undefined || typeof networkInterfaceName.valueOf() !== 'string') { + throw new Error('networkInterfaceName cannot be null or undefined and it must be of type string.'); + } + if (tapConfigurationName === null || tapConfigurationName === undefined || typeof tapConfigurationName.valueOf() !== 'string') { + throw new Error('tapConfigurationName cannot be null or undefined and it must be of type string.'); + } + if (tapConfigurationParameters === null || tapConfigurationParameters === undefined) { + throw new Error('tapConfigurationParameters cannot be null or undefined.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{networkInterfaceName}', encodeURIComponent(networkInterfaceName)); + requestUrl = requestUrl.replace('{tapConfigurationName}', encodeURIComponent(tapConfigurationName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'PUT'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + // Serialize Request + let requestContent = null; + let requestModel = null; + try { + if (tapConfigurationParameters !== null && tapConfigurationParameters !== undefined) { + let requestModelMapper = new client.models['NetworkInterfaceTapConfiguration']().mapper(); + requestModel = client.serialize(requestModelMapper, tapConfigurationParameters, 'tapConfigurationParameters'); + requestContent = JSON.stringify(requestModel); + } + } catch (error) { + let serializationError = new Error(`Error "${error.message}" occurred in serializing the ` + + `payload - ${JSON.stringify(tapConfigurationParameters, null, 2)}.`); + return callback(serializationError); + } + httpRequest.body = requestContent; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200 && statusCode !== 201) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['NetworkInterfaceTapConfiguration']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + // Deserialize Response + if (statusCode === 201) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['NetworkInterfaceTapConfiguration']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError1 = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError1.request = msRest.stripRequest(httpRequest); + deserializationError1.response = msRest.stripResponse(response); + return callback(deserializationError1); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Get all Tap configurations in a network interface + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfigurationListResult} + * for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _listNext(nextPageLink, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + // Validate + try { + if (nextPageLink === null || nextPageLink === undefined || typeof nextPageLink.valueOf() !== 'string') { + throw new Error('nextPageLink cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let requestUrl = '{nextLink}'; + requestUrl = requestUrl.replace('{nextLink}', nextPageLink); + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['NetworkInterfaceTapConfigurationListResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** Class representing a NetworkInterfaceTapConfigurations. */ +class NetworkInterfaceTapConfigurations { + /** + * Create a NetworkInterfaceTapConfigurations. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._deleteMethod = _deleteMethod; + this._get = _get; + this._createOrUpdate = _createOrUpdate; + this._list = _list; + this._beginDeleteMethod = _beginDeleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._listNext = _listNext; + } + + /** + * Deletes the specified tap configuration from the NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName, networkInterfaceName, tapConfigurationName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Deletes the specified tap configuration from the NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + deleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, optionalCallback); + } + } + + /** + * Get the specified tap configuration on a network interface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName, networkInterfaceName, tapConfigurationName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, networkInterfaceName, tapConfigurationName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Get the specified tap configuration on a network interface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName, networkInterfaceName, tapConfigurationName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._get(resourceGroupName, networkInterfaceName, tapConfigurationName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, networkInterfaceName, tapConfigurationName, options, optionalCallback); + } + } + + /** + * Creates or updates a Tap configuration in the specified NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Creates or updates a Tap configuration in the specified NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, optionalCallback); + } + } + + /** + * Get all Tap configurations in a network interface + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName, networkInterfaceName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._list(resourceGroupName, networkInterfaceName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Get all Tap configurations in a network interface + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {NetworkInterfaceTapConfigurationListResult} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfigurationListResult} + * for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + list(resourceGroupName, networkInterfaceName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._list(resourceGroupName, networkInterfaceName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._list(resourceGroupName, networkInterfaceName, options, optionalCallback); + } + } + + /** + * Deletes the specified tap configuration from the NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName, networkInterfaceName, tapConfigurationName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Deletes the specified tap configuration from the NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigurationName, options, optionalCallback); + } + } + + /** + * Creates or updates a Tap configuration in the specified NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Creates or updates a Tap configuration in the specified NetworkInterface. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} tapConfigurationName The name of the tap configuration. + * + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, optionalCallback); + } + } + + /** + * Get all Tap configurations in a network interface + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listNext(nextPageLink, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Get all Tap configurations in a network interface + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {NetworkInterfaceTapConfigurationListResult} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfigurationListResult} + * for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + listNext(nextPageLink, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._listNext(nextPageLink, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listNext(nextPageLink, options, optionalCallback); + } + } + +} + +module.exports = NetworkInterfaceTapConfigurations; diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaces.js b/lib/services/networkManagement2/lib/operations/networkInterfaces.js index d9d92527c4..5cc85c6a7b 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaces.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaces.js @@ -312,6 +312,9 @@ function _get(resourceGroupName, networkInterfaceName, options, callback) { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -1918,6 +1921,9 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, options, ca * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -3489,6 +3495,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -3612,6 +3621,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -4768,6 +4780,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -4891,6 +4906,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js b/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js new file mode 100644 index 0000000000..144147d731 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js @@ -0,0 +1,4368 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const msRest = require('ms-rest'); +const msRestAzure = require('ms-rest-azure'); +const WebResource = msRest.WebResource; + + +/** + * Deletes the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _deleteMethod(resourceGroupName, tapName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + + if (!callback) { + throw new Error('callback cannot be null.'); + } + + // Send request + this.beginDeleteMethod(resourceGroupName, tapName, options, (err, parsedResult, httpRequest, response) => { + if (err) return callback(err); + + let initialResult = new msRest.HttpOperationResponse(); + initialResult.request = httpRequest; + initialResult.response = response; + initialResult.body = response.body; + client.getLongRunningOperationResult(initialResult, options, (err, pollingResult) => { + if (err) return callback(err); + + // Create Result + let result = null; + + httpRequest = pollingResult.request; + response = pollingResult.response; + let responseBody = pollingResult.body; + if (responseBody === '') responseBody = null; + + // Deserialize Response + + return callback(null, result, httpRequest, response); + }); + }); +} + +/** + * Gets information about the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _get(resourceGroupName, tapName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (tapName === null || tapName === undefined || typeof tapName.valueOf() !== 'string') { + throw new Error('tapName cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{tapName}', encodeURIComponent(tapName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTap']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + + +/** + * Creates or updates a Virtual Network Tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. + * + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. + * + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. + * + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. + * + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _createOrUpdate(resourceGroupName, tapName, parameters, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + + if (!callback) { + throw new Error('callback cannot be null.'); + } + + // Send request + this.beginCreateOrUpdate(resourceGroupName, tapName, parameters, options, (err, parsedResult, httpRequest, response) => { + if (err) return callback(err); + + let initialResult = new msRest.HttpOperationResponse(); + initialResult.request = httpRequest; + initialResult.response = response; + initialResult.body = response.body; + client.getLongRunningOperationResult(initialResult, options, (err, pollingResult) => { + if (err) return callback(err); + + // Create Result + let result = null; + + httpRequest = pollingResult.request; + response = pollingResult.response; + let responseBody = pollingResult.body; + if (responseBody === '') responseBody = null; + + // Deserialize Response + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTap']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + + return callback(null, result, httpRequest, response); + }); + }); +} + + +/** + * Updates an VirtualNetworkTap tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the tap. + * + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _updateTags(resourceGroupName, tapName, tapParameters, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + + if (!callback) { + throw new Error('callback cannot be null.'); + } + + // Send request + this.beginUpdateTags(resourceGroupName, tapName, tapParameters, options, (err, parsedResult, httpRequest, response) => { + if (err) return callback(err); + + let initialResult = new msRest.HttpOperationResponse(); + initialResult.request = httpRequest; + initialResult.response = response; + initialResult.body = response.body; + client.getLongRunningOperationResult(initialResult, options, (err, pollingResult) => { + if (err) return callback(err); + + // Create Result + let result = null; + + httpRequest = pollingResult.request; + response = pollingResult.response; + let responseBody = pollingResult.body; + if (responseBody === '') responseBody = null; + + // Deserialize Response + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTap']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + + return callback(null, result, httpRequest, response); + }); + }); +} + +/** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _listAll(options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps'; + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTapListResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _listByResourceGroup(resourceGroupName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTapListResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Deletes the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _beginDeleteMethod(resourceGroupName, tapName, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (tapName === null || tapName === undefined || typeof tapName.valueOf() !== 'string') { + throw new Error('tapName cannot be null or undefined and it must be of type string.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{tapName}', encodeURIComponent(tapName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'DELETE'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200 && statusCode !== 202 && statusCode !== 204) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Creates or updates a Virtual Network Tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. + * + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. + * + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. + * + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. + * + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _beginCreateOrUpdate(resourceGroupName, tapName, parameters, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (tapName === null || tapName === undefined || typeof tapName.valueOf() !== 'string') { + throw new Error('tapName cannot be null or undefined and it must be of type string.'); + } + if (parameters === null || parameters === undefined) { + throw new Error('parameters cannot be null or undefined.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{tapName}', encodeURIComponent(tapName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'PUT'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + // Serialize Request + let requestContent = null; + let requestModel = null; + try { + if (parameters !== null && parameters !== undefined) { + let requestModelMapper = new client.models['VirtualNetworkTap']().mapper(); + requestModel = client.serialize(requestModelMapper, parameters, 'parameters'); + requestContent = JSON.stringify(requestModel); + } + } catch (error) { + let serializationError = new Error(`Error "${error.message}" occurred in serializing the ` + + `payload - ${JSON.stringify(parameters, null, 2)}.`); + return callback(serializationError); + } + httpRequest.body = requestContent; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200 && statusCode !== 201) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTap']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + // Deserialize Response + if (statusCode === 201) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTap']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError1 = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError1.request = msRest.stripRequest(httpRequest); + deserializationError1.response = msRest.stripResponse(response); + return callback(deserializationError1); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Updates an VirtualNetworkTap tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the tap. + * + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _beginUpdateTags(resourceGroupName, tapName, tapParameters, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + let apiVersion = '2018-08-01'; + // Validate + try { + if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { + throw new Error('resourceGroupName cannot be null or undefined and it must be of type string.'); + } + if (tapName === null || tapName === undefined || typeof tapName.valueOf() !== 'string') { + throw new Error('tapName cannot be null or undefined and it must be of type string.'); + } + if (tapParameters === null || tapParameters === undefined) { + throw new Error('tapParameters cannot be null or undefined.'); + } + if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { + throw new Error('this.client.subscriptionId cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let baseUrl = this.client.baseUri; + let requestUrl = baseUrl + (baseUrl.endsWith('/') ? '' : '/') + 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{tapName}', encodeURIComponent(tapName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (queryParameters.length > 0) { + requestUrl += '?' + queryParameters.join('&'); + } + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'PATCH'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + // Serialize Request + let requestContent = null; + let requestModel = null; + try { + if (tapParameters !== null && tapParameters !== undefined) { + let requestModelMapper = new client.models['TagsObject']().mapper(); + requestModel = client.serialize(requestModelMapper, tapParameters, 'tapParameters'); + requestContent = JSON.stringify(requestModel); + } + } catch (error) { + let serializationError = new Error(`Error "${error.message}" occurred in serializing the ` + + `payload - ${JSON.stringify(tapParameters, null, 2)}.`); + return callback(serializationError); + } + httpRequest.body = requestContent; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTap']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _listAllNext(nextPageLink, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + // Validate + try { + if (nextPageLink === null || nextPageLink === undefined || typeof nextPageLink.valueOf() !== 'string') { + throw new Error('nextPageLink cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let requestUrl = '{nextLink}'; + requestUrl = requestUrl.replace('{nextLink}', nextPageLink); + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTapListResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} callback - The callback. + * + * @returns {function} callback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ +function _listByResourceGroupNext(nextPageLink, options, callback) { + /* jshint validthis: true */ + let client = this.client; + if(!callback && typeof options === 'function') { + callback = options; + options = null; + } + if (!callback) { + throw new Error('callback cannot be null.'); + } + // Validate + try { + if (nextPageLink === null || nextPageLink === undefined || typeof nextPageLink.valueOf() !== 'string') { + throw new Error('nextPageLink cannot be null or undefined and it must be of type string.'); + } + if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { + throw new Error('this.client.acceptLanguage must be of type string.'); + } + } catch (error) { + return callback(error); + } + + // Construct URL + let requestUrl = '{nextLink}'; + requestUrl = requestUrl.replace('{nextLink}', nextPageLink); + + // Create HTTP transport objects + let httpRequest = new WebResource(); + httpRequest.method = 'GET'; + httpRequest.url = requestUrl; + httpRequest.headers = {}; + // Set Headers + httpRequest.headers['Content-Type'] = 'application/json; charset=utf-8'; + if (this.client.generateClientRequestId) { + httpRequest.headers['x-ms-client-request-id'] = msRestAzure.generateUuid(); + } + if (this.client.acceptLanguage !== undefined && this.client.acceptLanguage !== null) { + httpRequest.headers['accept-language'] = this.client.acceptLanguage; + } + if(options) { + for(let headerName in options['customHeaders']) { + if (options['customHeaders'].hasOwnProperty(headerName)) { + httpRequest.headers[headerName] = options['customHeaders'][headerName]; + } + } + } + httpRequest.body = null; + // Send Request + return client.pipeline(httpRequest, (err, response, responseBody) => { + if (err) { + return callback(err); + } + let statusCode = response.statusCode; + if (statusCode !== 200) { + let error = new Error(responseBody); + error.statusCode = response.statusCode; + error.request = msRest.stripRequest(httpRequest); + error.response = msRest.stripResponse(response); + if (responseBody === '') responseBody = null; + let parsedErrorResponse; + try { + parsedErrorResponse = JSON.parse(responseBody); + if (parsedErrorResponse) { + if (parsedErrorResponse.error) parsedErrorResponse = parsedErrorResponse.error; + if (parsedErrorResponse.code) error.code = parsedErrorResponse.code; + if (parsedErrorResponse.message) error.message = parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['CloudError']().mapper(); + error.body = client.deserialize(resultMapper, parsedErrorResponse, 'error.body'); + } + } catch (defaultError) { + error.message = `Error "${defaultError.message}" occurred in deserializing the responseBody ` + + `- "${responseBody}" for the default response.`; + return callback(error); + } + return callback(error); + } + // Create Result + let result = null; + if (responseBody === '') responseBody = null; + // Deserialize Response + if (statusCode === 200) { + let parsedResponse = null; + try { + parsedResponse = JSON.parse(responseBody); + result = JSON.parse(responseBody); + if (parsedResponse !== null && parsedResponse !== undefined) { + let resultMapper = new client.models['VirtualNetworkTapListResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** Class representing a VirtualNetworkTaps. */ +class VirtualNetworkTaps { + /** + * Create a VirtualNetworkTaps. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._deleteMethod = _deleteMethod; + this._get = _get; + this._createOrUpdate = _createOrUpdate; + this._updateTags = _updateTags; + this._listAll = _listAll; + this._listByResourceGroup = _listByResourceGroup; + this._beginDeleteMethod = _beginDeleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._beginUpdateTags = _beginUpdateTags; + this._listAllNext = _listAllNext; + this._listByResourceGroupNext = _listByResourceGroupNext; + } + + /** + * Deletes the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName, tapName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, tapName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Deletes the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + deleteMethod(resourceGroupName, tapName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, tapName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, tapName, options, optionalCallback); + } + } + + /** + * Gets information about the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName, tapName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, tapName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets information about the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTap} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName, tapName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._get(resourceGroupName, tapName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, tapName, options, optionalCallback); + } + } + + /** + * Creates or updates a Virtual Network Tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. + * + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. + * + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. + * + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. + * + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName, tapName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, tapName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Creates or updates a Virtual Network Tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. + * + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. + * + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. + * + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. + * + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTap} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName, tapName, parameters, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, tapName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, tapName, parameters, options, optionalCallback); + } + } + + /** + * Updates an VirtualNetworkTap tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the tap. + * + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + updateTagsWithHttpOperationResponse(resourceGroupName, tapName, tapParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._updateTags(resourceGroupName, tapName, tapParameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Updates an VirtualNetworkTap tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the tap. + * + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTap} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + updateTags(resourceGroupName, tapName, tapParameters, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._updateTags(resourceGroupName, tapName, tapParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._updateTags(resourceGroupName, tapName, tapParameters, options, optionalCallback); + } + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listAllWithHttpOperationResponse(options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listAll(options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + listAll(options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._listAll(options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listAll(options, optionalCallback); + } + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listByResourceGroupWithHttpOperationResponse(resourceGroupName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listByResourceGroup(resourceGroupName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + listByResourceGroup(resourceGroupName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._listByResourceGroup(resourceGroupName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listByResourceGroup(resourceGroupName, options, optionalCallback); + } + } + + /** + * Deletes the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName, tapName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, tapName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Deletes the specified virtual network tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {null} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {null} [result] - The deserialized result object if an error did not occur. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + beginDeleteMethod(resourceGroupName, tapName, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, tapName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, tapName, options, optionalCallback); + } + } + + /** + * Creates or updates a Virtual Network Tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. + * + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. + * + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. + * + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. + * + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName, tapName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, tapName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Creates or updates a Virtual Network Tap. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the virtual network tap. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. + * + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. + * + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. + * + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. + * + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. + * + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. + * + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * + * @param {boolean} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. + * + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTap} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName, tapName, parameters, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, tapName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, tapName, parameters, options, optionalCallback); + } + } + + /** + * Updates an VirtualNetworkTap tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the tap. + * + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName, tapName, tapParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginUpdateTags(resourceGroupName, tapName, tapParameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Updates an VirtualNetworkTap tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} tapName The name of the tap. + * + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTap} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + beginUpdateTags(resourceGroupName, tapName, tapParameters, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._beginUpdateTags(resourceGroupName, tapName, tapParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginUpdateTags(resourceGroupName, tapName, tapParameters, options, optionalCallback); + } + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listAllNextWithHttpOperationResponse(nextPageLink, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listAllNext(nextPageLink, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + listAllNext(nextPageLink, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._listAllNext(nextPageLink, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listAllNext(nextPageLink, options, optionalCallback); + } + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listByResourceGroupNextWithHttpOperationResponse(nextPageLink, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listByResourceGroupNext(nextPageLink, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + listByResourceGroupNext(nextPageLink, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._listByResourceGroupNext(nextPageLink, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listByResourceGroupNext(nextPageLink, options, optionalCallback); + } + } + +} + +module.exports = VirtualNetworkTaps;