diff --git a/lib/services/networkManagement2/lib/models/applicationGateway.js b/lib/services/networkManagement2/lib/models/applicationGateway.js index 51d8ecf64c..e6578da902 100644 --- a/lib/services/networkManagement2/lib/models/applicationGateway.js +++ b/lib/services/networkManagement2/lib/models/applicationGateway.js @@ -49,8 +49,6 @@ class ApplicationGateway extends models['Resource'] { * gateway resource. * @member {array} [authenticationCertificates] Authentication certificates * of the application gateway resource. - * @member {array} [trustedRootCertificates] Trusted Root certificates of the - * application gateway resource. * @member {array} [sslCertificates] SSL certificates of the application * gateway resource. * @member {array} [frontendIPConfigurations] Frontend IP addresses of the @@ -224,21 +222,6 @@ class ApplicationGateway extends models['Resource'] { } } }, - trustedRootCertificates: { - required: false, - serializedName: 'properties.trustedRootCertificates', - type: { - name: 'Sequence', - element: { - required: false, - serializedName: 'ApplicationGatewayTrustedRootCertificateElementType', - type: { - name: 'Composite', - className: 'ApplicationGatewayTrustedRootCertificate' - } - } - } - }, sslCertificates: { required: false, serializedName: 'properties.sslCertificates', diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthHttpSettings.js b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthHttpSettings.js index 0c46369e58..8cc553dbe8 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthHttpSettings.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthHttpSettings.js @@ -37,8 +37,6 @@ class ApplicationGatewayBackendHealthHttpSettings { * @member {string} [backendHttpSettings.probe.id] Resource ID. * @member {array} [backendHttpSettings.authenticationCertificates] Array of * references to application gateway authentication certificates. - * @member {array} [backendHttpSettings.trustedRootCertificates] Array of - * references to application gateway trusted root certificates. * @member {object} [backendHttpSettings.connectionDraining] Connection * draining of the backend http settings resource. * @member {boolean} [backendHttpSettings.connectionDraining.enabled] Whether diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js index 677fe0a905..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 @@ -41,6 +43,8 @@ class ApplicationGatewayBackendHealthServer { * configuration. * @member {string} [ipConfiguration.subnet.addressPrefix] The address prefix * for the subnet. + * @member {array} [ipConfiguration.subnet.addressPrefixes] List of address + * prefixes for the subnet. * @member {object} [ipConfiguration.subnet.networkSecurityGroup] The * reference of the NetworkSecurityGroup resource. * @member {array} @@ -122,6 +126,9 @@ class ApplicationGatewayBackendHealthServer { * @member {string} * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] The * address prefix for the subnet. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * @member {object} * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] * The reference of the NetworkSecurityGroup resource. diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js index 0b62d992fc..fe3cf2b152 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js @@ -33,8 +33,6 @@ class ApplicationGatewayBackendHttpSettings extends models['SubResource'] { * @member {string} [probe.id] Resource ID. * @member {array} [authenticationCertificates] Array of references to * application gateway authentication certificates. - * @member {array} [trustedRootCertificates] Array of references to - * application gateway trusted root certificates. * @member {object} [connectionDraining] Connection draining of the backend * http settings resource. * @member {boolean} [connectionDraining.enabled] Whether connection draining @@ -137,21 +135,6 @@ class ApplicationGatewayBackendHttpSettings extends models['SubResource'] { } } }, - trustedRootCertificates: { - required: false, - serializedName: 'properties.trustedRootCertificates', - type: { - name: 'Sequence', - element: { - required: false, - serializedName: 'SubResourceElementType', - type: { - name: 'Composite', - className: 'SubResource' - } - } - } - }, connectionDraining: { required: false, serializedName: 'properties.connectionDraining', diff --git a/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js b/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js index 309a13d64f..da6437e5b0 100644 --- a/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js +++ b/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js @@ -25,6 +25,7 @@ class AzureFirewallApplicationRule { * rule. * @member {array} [protocols] Array of ApplicationRuleProtocols. * @member {array} [targetUrls] List of URLs for this rule. + * @member {array} [fqdnTags] List of FQDN Tags for this rule. */ constructor() { } @@ -99,6 +100,20 @@ class AzureFirewallApplicationRule { } } } + }, + fqdnTags: { + required: false, + serializedName: 'fqdnTags', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } } } } diff --git a/lib/services/networkManagement2/lib/models/azureFirewallFqdnTag.js b/lib/services/networkManagement2/lib/models/azureFirewallFqdnTag.js new file mode 100644 index 0000000000..c0ee7f2dda --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallFqdnTag.js @@ -0,0 +1,121 @@ +/* + * 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'); + +/** + * Azure Firewall FQDN Tag Resource + * + * @extends models['Resource'] + */ +class AzureFirewallFqdnTag extends models['Resource'] { + /** + * Create a AzureFirewallFqdnTag. + * @member {string} [provisioningState] The provisioning state of the + * resource. + * @member {string} [fqdnTagName] The name of this FQDN Tag. + * @member {string} [etag] Gets a unique read-only string that changes + * whenever the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of AzureFirewallFqdnTag + * + * @returns {object} metadata of AzureFirewallFqdnTag + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallFqdnTag', + type: { + name: 'Composite', + className: 'AzureFirewallFqdnTag', + 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' + } + } + } + }, + provisioningState: { + required: false, + readOnly: true, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + fqdnTagName: { + required: false, + readOnly: true, + serializedName: 'properties.fqdnTagName', + type: { + name: 'String' + } + }, + etag: { + required: false, + readOnly: true, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallFqdnTag; diff --git a/lib/services/networkManagement2/lib/models/azureFirewallFqdnTagListResult.js b/lib/services/networkManagement2/lib/models/azureFirewallFqdnTagListResult.js new file mode 100644 index 0000000000..c382566ecb --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallFqdnTagListResult.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 ListAzureFirewallFqdnTags API service call. + */ +class AzureFirewallFqdnTagListResult extends Array { + /** + * Create a AzureFirewallFqdnTagListResult. + * @member {string} [nextLink] URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of AzureFirewallFqdnTagListResult + * + * @returns {object} metadata of AzureFirewallFqdnTagListResult + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallFqdnTagListResult', + type: { + name: 'Composite', + className: 'AzureFirewallFqdnTagListResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AzureFirewallFqdnTagElementType', + type: { + name: 'Composite', + className: 'AzureFirewallFqdnTag' + } + } + } + }, + nextLink: { + required: false, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallFqdnTagListResult; diff --git a/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js b/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js index c3f6ec2326..d44eac00fa 100644 --- a/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/azureFirewallIPConfiguration.js @@ -25,11 +25,8 @@ class AzureFirewallIPConfiguration extends models['SubResource'] { * @member {object} [subnet] Reference of the subnet resource. This resource * must be named 'AzureFirewallSubnet'. * @member {string} [subnet.id] Resource ID. - * @member {object} [internalPublicIpAddress] Reference of the PublicIP - * resource. This field is a mandatory input. - * @member {string} [internalPublicIpAddress.id] Resource ID. * @member {object} [publicIPAddress] Reference of the PublicIP resource. - * This field is populated in the output. + * This field is a mandatory input if subnet is not null. * @member {string} [publicIPAddress.id] Resource ID. * @member {string} [provisioningState] The provisioning state of the * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', @@ -79,14 +76,6 @@ class AzureFirewallIPConfiguration extends models['SubResource'] { className: 'SubResource' } }, - internalPublicIpAddress: { - required: false, - serializedName: 'properties.internalPublicIpAddress', - type: { - name: 'Composite', - className: 'SubResource' - } - }, publicIPAddress: { required: false, serializedName: 'properties.publicIPAddress', diff --git a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js index 9cb1956954..c1e5aaba30 100644 --- a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js @@ -35,6 +35,8 @@ class FrontendIPConfiguration extends models['SubResource'] { * 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 @@ -102,6 +104,8 @@ class FrontendIPConfiguration extends models['SubResource'] { * 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. diff --git a/lib/services/networkManagement2/lib/models/iPConfiguration.js b/lib/services/networkManagement2/lib/models/iPConfiguration.js index f5b9375a5e..51972e10ff 100644 --- a/lib/services/networkManagement2/lib/models/iPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/iPConfiguration.js @@ -27,6 +27,8 @@ class IPConfiguration extends models['SubResource'] { * 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 diff --git a/lib/services/networkManagement2/lib/models/inboundNatRule.js b/lib/services/networkManagement2/lib/models/inboundNatRule.js index e8fa26f778..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. @@ -48,6 +50,8 @@ class InboundNatRule extends models['SubResource'] { * 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} @@ -134,6 +138,9 @@ class InboundNatRule extends models['SubResource'] { * @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. diff --git a/lib/services/networkManagement2/lib/models/index.d.ts b/lib/services/networkManagement2/lib/models/index.d.ts index d0c91d115d..d7c829fae3 100644 --- a/lib/services/networkManagement2/lib/models/index.d.ts +++ b/lib/services/networkManagement2/lib/models/index.d.ts @@ -30,527 +30,635 @@ export interface SubResource extends BaseResource { /** * @class - * Initializes a new instance of the AzureFirewallIPConfiguration class. - * @constructor - * IP configuration of an Azure Firewall. - * - * @member {string} [privateIPAddress] The Firewall Internal Load Balancer IP - * to be used as the next hop in User Defined Routes. - * @member {object} [subnet] Reference of the subnet resource. This resource - * must be named 'AzureFirewallSubnet'. - * @member {string} [subnet.id] Resource ID. - * @member {object} [internalPublicIpAddress] Reference of the PublicIP - * resource. This field is a mandatory input. - * @member {string} [internalPublicIpAddress.id] Resource ID. - * @member {object} [publicIPAddress] Reference of the PublicIP resource. This - * field is populated in the output. - * @member {string} [publicIPAddress.id] Resource ID. - * @member {string} [provisioningState] The provisioning state of the resource. - * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - * @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 AzureFirewallIPConfiguration extends SubResource { - privateIPAddress?: string; - subnet?: SubResource; - internalPublicIpAddress?: SubResource; - publicIPAddress?: SubResource; - provisioningState?: string; - name?: string; - etag?: string; -} - -/** - * @class - * Initializes a new instance of the AzureFirewallRCAction class. - * @constructor - * Properties of the AzureFirewallRCAction. - * - * @member {string} [type] The type of action. Possible values include: - * 'Allow', 'Deny' - */ -export interface AzureFirewallRCAction { - type?: string; -} - -/** - * @class - * Initializes a new instance of the AzureFirewallApplicationRuleProtocol class. - * @constructor - * Properties of the application rule protocol. - * - * @member {string} [protocolType] Protocol type. Possible values include: - * 'Http', 'Https' - * @member {number} [port] Port number for the protocol, cannot be greater than - * 64000. This field is optional. - */ -export interface AzureFirewallApplicationRuleProtocol { - protocolType?: string; - port?: number; -} - -/** - * @class - * Initializes a new instance of the AzureFirewallApplicationRule class. - * @constructor - * Properties of an application rule. - * - * @member {string} [name] Name of the application rule. - * @member {string} [description] Description of the rule. - * @member {array} [sourceAddresses] List of source IP addresses for this rule. - * @member {array} [protocols] Array of ApplicationRuleProtocols. - * @member {array} [targetUrls] List of URLs for this rule. - */ -export interface AzureFirewallApplicationRule { - name?: string; - description?: string; - sourceAddresses?: string[]; - protocols?: AzureFirewallApplicationRuleProtocol[]; - targetUrls?: string[]; -} - -/** - * @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 AzureFirewallNetworkRule class. - * @constructor - * Properties of the network rule. - * - * @member {string} [name] Name of the network rule. - * @member {string} [description] Description of the rule. - * @member {array} [protocols] Array of AzureFirewallNetworkRuleProtocols. - * @member {array} [sourceAddresses] List of source IP addresses for this rule. - * @member {array} [destinationAddresses] List of destination IP addresses. - * @member {array} [destinationPorts] List of destination ports. - */ -export interface AzureFirewallNetworkRule { - name?: string; - description?: string; - protocols?: string[]; - sourceAddresses?: string[]; - destinationAddresses?: string[]; - destinationPorts?: string[]; -} - -/** - * @class - * Initializes a new instance of the AzureFirewallNetworkRuleCollection class. - * @constructor - * Network rule collection resource - * - * @member {number} [priority] Priority of the network 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 network 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 AzureFirewallNetworkRuleCollection extends SubResource { - priority?: number; - action?: AzureFirewallRCAction; - rules?: AzureFirewallNetworkRule[]; - provisioningState?: string; - name?: string; - readonly etag?: string; -} - -/** - * @class - * Initializes a new instance of the Resource class. - * @constructor - * Common resource representation. - * - * @member {string} [id] Resource ID. - * @member {string} [name] Resource name. - * @member {string} [type] Resource type. - * @member {string} [location] Resource location. - * @member {object} [tags] Resource tags. - */ -export interface Resource extends BaseResource { - id?: string; - readonly name?: string; - readonly type?: string; - location?: string; - tags?: { [propertyName: string]: string }; -} - -/** - * @class - * Initializes a new instance of the AzureFirewall class. - * @constructor - * Azure Firewall resource - * - * @member {array} [applicationRuleCollections] Collection of application rule - * collections used by a Azure Firewall. - * @member {array} [networkRuleCollections] Collection of network rule - * collections used by a Azure Firewall. - * @member {array} [ipConfigurations] IP configuration of the Azure Firewall - * resource. - * @member {string} [provisioningState] The provisioning state of the resource. - * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' - * @member {string} [etag] Gets a unique read-only string that changes whenever - * the resource is updated. - */ -export interface AzureFirewall extends Resource { - applicationRuleCollections?: AzureFirewallApplicationRuleCollection[]; - networkRuleCollections?: AzureFirewallNetworkRuleCollection[]; - ipConfigurations?: AzureFirewallIPConfiguration[]; - provisioningState?: string; - readonly 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. + * 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 {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} + * [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 - * 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} + * [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. */ -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; +} + +/** + * @class + * Initializes a new instance of the Resource class. + * @constructor + * Common resource representation. + * + * @member {string} [id] Resource ID. + * @member {string} [name] Resource name. + * @member {string} [type] Resource type. + * @member {string} [location] Resource location. + * @member {object} [tags] Resource tags. + */ +export interface Resource extends BaseResource { + id?: string; + readonly name?: string; + readonly type?: string; + location?: string; + tags?: { [propertyName: string]: string }; } /** @@ -979,6 +1087,8 @@ export interface IpTag { * resource. * @member {string} [ipConfiguration.subnet.addressPrefix] The address prefix * for the subnet. + * @member {array} [ipConfiguration.subnet.addressPrefixes] List of address + * prefixes for the subnet. * @member {object} [ipConfiguration.subnet.networkSecurityGroup] The reference * of the NetworkSecurityGroup resource. * @member {array} [ipConfiguration.subnet.networkSecurityGroup.securityRules] @@ -987,306 +1097,1448 @@ export interface IpTag { * [ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] The * default security rules of network security group. * @member {array} - * [ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] A collection - * of references to network interfaces. - * @member {array} [ipConfiguration.subnet.networkSecurityGroup.subnets] A - * collection of references to subnets. - * @member {string} [ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. + * [ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] A collection + * of references to network interfaces. + * @member {array} [ipConfiguration.subnet.networkSecurityGroup.subnets] A + * collection of references to subnets. + * @member {string} [ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [ipConfiguration.subnet.networkSecurityGroup.provisioningState] The + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [ipConfiguration.subnet.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} [ipConfiguration.subnet.routeTable] The reference of the + * RouteTable resource. + * @member {array} [ipConfiguration.subnet.routeTable.routes] Collection of + * routes contained within a route table. + * @member {array} [ipConfiguration.subnet.routeTable.subnets] A collection of + * references to subnets. + * @member {boolean} + * [ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. + * @member {string} [ipConfiguration.subnet.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [ipConfiguration.subnet.routeTable.etag] Gets a unique + * read-only string that changes whenever the resource is updated. + * @member {array} [ipConfiguration.subnet.serviceEndpoints] An array of + * service endpoints. + * @member {array} [ipConfiguration.subnet.serviceEndpointPolicies] An array of + * service endpoint policies. + * @member {array} [ipConfiguration.subnet.ipConfigurations] Gets an array of + * references to the network interface IP configurations using subnet. + * @member {array} [ipConfiguration.subnet.resourceNavigationLinks] Gets an + * array of references to the external resources using subnet. + * @member {string} [ipConfiguration.subnet.provisioningState] The provisioning + * state of the resource. + * @member {string} [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} [ipConfiguration.subnet.etag] A unique read-only string + * that changes whenever the resource is updated. + * @member {object} [ipConfiguration.publicIPAddress] The reference of the + * public IP resource. + * @member {string} [ipConfiguration.provisioningState] Gets the provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [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} [ipConfiguration.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {object} [dnsSettings] The FQDN of the DNS record associated with + * the public IP address. + * @member {string} [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} [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} [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} [ipTags] The list of tags associated with the public IP + * address. + * @member {string} [ipAddress] The IP address associated with the public IP + * address resource. + * @member {object} [publicIPPrefix] The Public IP Prefix this Public IP + * Address should be allocated from. + * @member {string} [publicIPPrefix.id] Resource ID. + * @member {number} [idleTimeoutInMinutes] The idle timeout of the public IP + * address. + * @member {string} [resourceGuid] The resource GUID property of the public IP + * resource. + * @member {string} [provisioningState] The provisioning state of the PublicIP + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @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 PublicIPAddress extends Resource { + sku?: PublicIPAddressSku; + publicIPAllocationMethod?: string; + publicIPAddressVersion?: string; + readonly ipConfiguration?: IPConfiguration; + dnsSettings?: PublicIPAddressDnsSettings; + ipTags?: IpTag[]; + ipAddress?: string; + publicIPPrefix?: SubResource; + idleTimeoutInMinutes?: number; + resourceGuid?: string; + provisioningState?: string; + etag?: string; + zones?: string[]; +} + +/** + * @class + * Initializes a new instance of the IPConfiguration class. + * @constructor + * IP configuration + * + * @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 {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} - * [ipConfiguration.subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: + * [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} [ipConfiguration.subnet.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * @member {object} [ipConfiguration.subnet.routeTable] The reference of the - * RouteTable resource. - * @member {array} [ipConfiguration.subnet.routeTable.routes] Collection of - * routes contained within a route table. - * @member {array} [ipConfiguration.subnet.routeTable.subnets] A collection of - * references to subnets. - * @member {boolean} - * [ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * @member {string} [ipConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @member {string} [ipConfiguration.subnet.routeTable.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * @member {array} [ipConfiguration.subnet.serviceEndpoints] An array of - * service endpoints. - * @member {array} [ipConfiguration.subnet.serviceEndpointPolicies] An array of - * service endpoint policies. - * @member {array} [ipConfiguration.subnet.ipConfigurations] Gets an array of - * references to the network interface IP configurations using subnet. - * @member {array} [ipConfiguration.subnet.resourceNavigationLinks] Gets an - * array of references to the external resources using subnet. - * @member {string} [ipConfiguration.subnet.provisioningState] The provisioning - * state of the resource. - * @member {string} [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} [ipConfiguration.subnet.etag] A unique read-only string - * that changes whenever the resource is updated. - * @member {object} [ipConfiguration.publicIPAddress] The reference of the - * public IP resource. - * @member {string} [ipConfiguration.provisioningState] Gets the provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @member {string} [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} [ipConfiguration.etag] A unique read-only string that - * changes whenever the resource is updated. - * @member {object} [dnsSettings] The FQDN of the DNS record associated with - * the public IP address. - * @member {string} [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} [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} [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} [ipTags] The list of tags associated with the public IP - * address. - * @member {string} [ipAddress] The IP address associated with the public IP - * address resource. - * @member {object} [publicIPPrefix] The Public IP Prefix this Public IP - * Address should be allocated from. - * @member {string} [publicIPPrefix.id] Resource ID. - * @member {number} [idleTimeoutInMinutes] The idle timeout of the public IP - * address. - * @member {string} [resourceGuid] The resource GUID property of the public IP - * resource. - * @member {string} [provisioningState] The provisioning state of the PublicIP - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @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 PublicIPAddress extends Resource { - sku?: PublicIPAddressSku; - publicIPAllocationMethod?: string; - publicIPAddressVersion?: string; - readonly ipConfiguration?: IPConfiguration; - dnsSettings?: PublicIPAddressDnsSettings; - ipTags?: IpTag[]; - ipAddress?: string; - publicIPPrefix?: SubResource; - idleTimeoutInMinutes?: number; - resourceGuid?: string; - provisioningState?: string; - etag?: string; - zones?: string[]; -} - -/** - * @class - * Initializes a new instance of the IPConfiguration class. - * @constructor - * IP configuration - * - * @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 {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 + * @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} [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. + * @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 IPConfiguration extends SubResource { - privateIPAddress?: string; - privateIPAllocationMethod?: string; - subnet?: Subnet; - publicIPAddress?: PublicIPAddress; - provisioningState?: string; - name?: string; +export interface VirtualNetworkTap extends Resource { + networkInterfaceTapConfigurations?: NetworkInterfaceTapConfiguration[]; + destinationNetworkInterfaceIPConfiguration?: NetworkInterfaceIPConfiguration; + destinationLoadBalancerFrontEndIPConfiguration?: FrontendIPConfiguration; + destinationPort?: number; etag?: string; } /** * @class - * Initializes a new instance of the ResourceNavigationLink class. + * Initializes a new instance of the BackendAddressPool class. * @constructor - * ResourceNavigationLink resource. + * Pool of backend IP addresses. * - * @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 + * @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 ResourceNavigationLink extends SubResource { - linkedResourceType?: string; - link?: string; - readonly provisioningState?: string; +export interface BackendAddressPool extends SubResource { + readonly backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; + readonly loadBalancingRules?: SubResource[]; + readonly outboundRule?: SubResource; + provisioningState?: string; name?: string; - readonly etag?: string; + etag?: string; } /** * @class - * Initializes a new instance of the Subnet class. + * Initializes a new instance of the InboundNatRule class. * @constructor - * Subnet in a virtual network resource. + * Inbound NAT rule of the load balancer. * - * @member {string} [addressPrefix] The address prefix 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', + * @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} [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} [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 {string} [backendIPConfiguration.etag] 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 * 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; - 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; @@ -1298,6 +2550,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 @@ -1315,6 +2568,8 @@ export interface Subnet extends SubResource { * 'IPv6'. Possible values include: 'IPv4', 'IPv6' * @member {object} [subnet] Subnet bound to the IP configuration. * @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 @@ -1383,6 +2638,8 @@ export interface Subnet extends SubResource { * 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. @@ -1498,6 +2755,7 @@ export interface Subnet extends SubResource { * resource is updated. */ export interface NetworkInterfaceIPConfiguration extends SubResource { + virtualNetworkTaps?: VirtualNetworkTap[]; applicationGatewayBackendAddressPools?: ApplicationGatewayBackendAddressPool[]; loadBalancerBackendAddressPools?: BackendAddressPool[]; loadBalancerInboundNatRules?: InboundNatRule[]; @@ -1590,8 +2848,6 @@ export interface ApplicationGatewayConnectionDraining { * @member {string} [probe.id] Resource ID. * @member {array} [authenticationCertificates] Array of references to * application gateway authentication certificates. - * @member {array} [trustedRootCertificates] Array of references to application - * gateway trusted root certificates. * @member {object} [connectionDraining] Connection draining of the backend * http settings resource. * @member {boolean} [connectionDraining.enabled] Whether connection draining @@ -1625,7 +2881,6 @@ export interface ApplicationGatewayBackendHttpSettings extends SubResource { requestTimeout?: number; probe?: SubResource; authenticationCertificates?: SubResource[]; - trustedRootCertificates?: SubResource[]; connectionDraining?: ApplicationGatewayConnectionDraining; hostName?: string; pickHostNameFromBackendAddress?: boolean; @@ -1647,6 +2902,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 @@ -1666,6 +2923,8 @@ export interface ApplicationGatewayBackendHttpSettings extends SubResource { * configuration. * @member {string} [ipConfiguration.subnet.addressPrefix] The address prefix * for the subnet. + * @member {array} [ipConfiguration.subnet.addressPrefixes] List of address + * prefixes for the subnet. * @member {object} [ipConfiguration.subnet.networkSecurityGroup] The reference * of the NetworkSecurityGroup resource. * @member {array} [ipConfiguration.subnet.networkSecurityGroup.securityRules] @@ -1744,6 +3003,9 @@ export interface ApplicationGatewayBackendHttpSettings extends SubResource { * @member {string} * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] The * address prefix for the subnet. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * @member {object} * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] * The reference of the NetworkSecurityGroup resource. @@ -1905,8 +3167,6 @@ export interface ApplicationGatewayBackendHealthServer { * @member {string} [backendHttpSettings.probe.id] Resource ID. * @member {array} [backendHttpSettings.authenticationCertificates] Array of * references to application gateway authentication certificates. - * @member {array} [backendHttpSettings.trustedRootCertificates] Array of - * references to application gateway trusted root certificates. * @member {object} [backendHttpSettings.connectionDraining] Connection * draining of the backend http settings resource. * @member {boolean} [backendHttpSettings.connectionDraining.enabled] Whether @@ -2079,32 +3339,6 @@ export interface ApplicationGatewayAuthenticationCertificate extends SubResource type?: string; } -/** - * @class - * Initializes a new instance of the ApplicationGatewayTrustedRootCertificate class. - * @constructor - * Trusted Root certificates of an application gateway. - * - * @member {string} [data] Certificate public data. - * @member {string} [keyvaultSecretId] KeyVault Secret Id for certificate. - * @member {string} [provisioningState] Provisioning state of the trusted root - * certificate resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [name] Name of the trusted root certificate that is unique - * within an Application Gateway. - * @member {string} [etag] A unique read-only string that changes whenever the - * resource is updated. - * @member {string} [type] Type of the resource. - */ -export interface ApplicationGatewayTrustedRootCertificate extends SubResource { - data?: string; - keyvaultSecretId?: string; - provisioningState?: string; - name?: string; - etag?: string; - type?: string; -} - /** * @class * Initializes a new instance of the ApplicationGatewaySslCertificate class. @@ -2571,8 +3805,6 @@ export interface ApplicationGatewayAutoscaleConfiguration { * resource. * @member {array} [authenticationCertificates] Authentication certificates of * the application gateway resource. - * @member {array} [trustedRootCertificates] Trusted Root certificates of the - * application gateway resource. * @member {array} [sslCertificates] SSL certificates of the application * gateway resource. * @member {array} [frontendIPConfigurations] Frontend IP addresses of the @@ -2634,7 +3866,6 @@ export interface ApplicationGateway extends Resource { readonly operationalState?: string; gatewayIPConfigurations?: ApplicationGatewayIPConfiguration[]; authenticationCertificates?: ApplicationGatewayAuthenticationCertificate[]; - trustedRootCertificates?: ApplicationGatewayTrustedRootCertificate[]; sslCertificates?: ApplicationGatewaySslCertificate[]; frontendIPConfigurations?: ApplicationGatewayFrontendIPConfiguration[]; frontendPorts?: ApplicationGatewayFrontendPort[]; @@ -2703,76 +3934,279 @@ export interface ApplicationGatewayFirewallRuleGroup { * @member {array} ruleGroups The rule groups of the web application firewall * rule set. */ -export interface ApplicationGatewayFirewallRuleSet extends Resource { +export interface ApplicationGatewayFirewallRuleSet extends Resource { + provisioningState?: string; + ruleSetType: string; + ruleSetVersion: string; + ruleGroups: ApplicationGatewayFirewallRuleGroup[]; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayAvailableWafRuleSetsResult class. + * @constructor + * Response for ApplicationGatewayAvailableWafRuleSets API service call. + * + * @member {array} [value] The list of application gateway rule sets. + */ +export interface ApplicationGatewayAvailableWafRuleSetsResult { + value?: ApplicationGatewayFirewallRuleSet[]; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayAvailableSslOptions class. + * @constructor + * Response for ApplicationGatewayAvailableSslOptions API service call. + * + * @member {array} [predefinedPolicies] List of available Ssl predefined + * policy. + * @member {string} [defaultPolicy] Name of the Ssl predefined policy applied + * by default to application gateway. Possible values include: + * 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + * 'AppGwSslPolicy20170401S' + * @member {array} [availableCipherSuites] List of available Ssl cipher suites. + * @member {array} [availableProtocols] List of available Ssl protocols. + */ +export interface ApplicationGatewayAvailableSslOptions extends Resource { + predefinedPolicies?: SubResource[]; + defaultPolicy?: string; + availableCipherSuites?: string[]; + availableProtocols?: string[]; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewaySslPredefinedPolicy class. + * @constructor + * An Ssl predefined policy + * + * @member {string} [name] Name of the Ssl predefined policy. + * @member {array} [cipherSuites] Ssl cipher suites to be enabled in the + * specified order for application gateway. + * @member {string} [minProtocolVersion] Minimum version of Ssl protocol to be + * supported on application gateway. Possible values include: 'TLSv1_0', + * 'TLSv1_1', 'TLSv1_2' + */ +export interface ApplicationGatewaySslPredefinedPolicy extends SubResource { + name?: string; + cipherSuites?: string[]; + minProtocolVersion?: string; +} + +/** + * @class + * Initializes a new instance of the TagsObject class. + * @constructor + * Tags object for patch operations. + * + * @member {object} [tags] Resource tags. + */ +export interface TagsObject { + tags?: { [propertyName: string]: string }; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallIPConfiguration class. + * @constructor + * IP configuration of an Azure Firewall. + * + * @member {string} [privateIPAddress] The Firewall Internal Load Balancer IP + * to be used as the next hop in User Defined Routes. + * @member {object} [subnet] Reference of the subnet resource. This resource + * must be named 'AzureFirewallSubnet'. + * @member {string} [subnet.id] Resource ID. + * @member {object} [publicIPAddress] Reference of the PublicIP resource. This + * field is a mandatory input if subnet is not null. + * @member {string} [publicIPAddress.id] Resource ID. + * @member {string} [provisioningState] The provisioning state of the resource. + * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + * @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 AzureFirewallIPConfiguration extends SubResource { + privateIPAddress?: string; + subnet?: SubResource; + publicIPAddress?: SubResource; + provisioningState?: string; + name?: string; + etag?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallRCAction class. + * @constructor + * Properties of the AzureFirewallRCAction. + * + * @member {string} [type] The type of action. Possible values include: + * 'Allow', 'Deny' + */ +export interface AzureFirewallRCAction { + type?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallApplicationRuleProtocol class. + * @constructor + * Properties of the application rule protocol. + * + * @member {string} [protocolType] Protocol type. Possible values include: + * 'Http', 'Https' + * @member {number} [port] Port number for the protocol, cannot be greater than + * 64000. This field is optional. + */ +export interface AzureFirewallApplicationRuleProtocol { + protocolType?: string; + port?: number; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallApplicationRule class. + * @constructor + * Properties of an application rule. + * + * @member {string} [name] Name of the application rule. + * @member {string} [description] Description of the rule. + * @member {array} [sourceAddresses] List of source IP addresses for this rule. + * @member {array} [protocols] Array of ApplicationRuleProtocols. + * @member {array} [targetUrls] List of URLs for this rule. + * @member {array} [fqdnTags] List of FQDN Tags for this rule. + */ +export interface AzureFirewallApplicationRule { + name?: string; + description?: string; + sourceAddresses?: string[]; + protocols?: AzureFirewallApplicationRuleProtocol[]; + targetUrls?: string[]; + fqdnTags?: string[]; +} + +/** + * @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; - ruleSetType: string; - ruleSetVersion: string; - ruleGroups: ApplicationGatewayFirewallRuleGroup[]; + name?: string; + readonly etag?: string; } /** * @class - * Initializes a new instance of the ApplicationGatewayAvailableWafRuleSetsResult class. + * Initializes a new instance of the AzureFirewallNetworkRule class. * @constructor - * Response for ApplicationGatewayAvailableWafRuleSets API service call. + * Properties of the network rule. * - * @member {array} [value] The list of application gateway rule sets. + * @member {string} [name] Name of the network rule. + * @member {string} [description] Description of the rule. + * @member {array} [protocols] Array of AzureFirewallNetworkRuleProtocols. + * @member {array} [sourceAddresses] List of source IP addresses for this rule. + * @member {array} [destinationAddresses] List of destination IP addresses. + * @member {array} [destinationPorts] List of destination ports. */ -export interface ApplicationGatewayAvailableWafRuleSetsResult { - value?: ApplicationGatewayFirewallRuleSet[]; +export interface AzureFirewallNetworkRule { + name?: string; + description?: string; + protocols?: string[]; + sourceAddresses?: string[]; + destinationAddresses?: string[]; + destinationPorts?: string[]; } /** * @class - * Initializes a new instance of the ApplicationGatewayAvailableSslOptions class. + * Initializes a new instance of the AzureFirewallNetworkRuleCollection class. * @constructor - * Response for ApplicationGatewayAvailableSslOptions API service call. + * Network rule collection resource * - * @member {array} [predefinedPolicies] List of available Ssl predefined - * policy. - * @member {string} [defaultPolicy] Name of the Ssl predefined policy applied - * by default to application gateway. Possible values include: - * 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - * 'AppGwSslPolicy20170401S' - * @member {array} [availableCipherSuites] List of available Ssl cipher suites. - * @member {array} [availableProtocols] List of available Ssl protocols. + * @member {number} [priority] Priority of the network 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 network 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 ApplicationGatewayAvailableSslOptions extends Resource { - predefinedPolicies?: SubResource[]; - defaultPolicy?: string; - availableCipherSuites?: string[]; - availableProtocols?: string[]; +export interface AzureFirewallNetworkRuleCollection extends SubResource { + priority?: number; + action?: AzureFirewallRCAction; + rules?: AzureFirewallNetworkRule[]; + provisioningState?: string; + name?: string; + readonly etag?: string; } /** * @class - * Initializes a new instance of the ApplicationGatewaySslPredefinedPolicy class. + * Initializes a new instance of the AzureFirewall class. * @constructor - * An Ssl predefined policy + * Azure Firewall resource * - * @member {string} [name] Name of the Ssl predefined policy. - * @member {array} [cipherSuites] Ssl cipher suites to be enabled in the - * specified order for application gateway. - * @member {string} [minProtocolVersion] Minimum version of Ssl protocol to be - * supported on application gateway. Possible values include: 'TLSv1_0', - * 'TLSv1_1', 'TLSv1_2' + * @member {array} [applicationRuleCollections] Collection of application rule + * collections used by a Azure Firewall. + * @member {array} [networkRuleCollections] Collection of network rule + * collections used by a Azure Firewall. + * @member {array} [ipConfigurations] IP configuration of the Azure Firewall + * resource. + * @member {string} [provisioningState] The provisioning state of the resource. + * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. */ -export interface ApplicationGatewaySslPredefinedPolicy extends SubResource { - name?: string; - cipherSuites?: string[]; - minProtocolVersion?: string; +export interface AzureFirewall extends Resource { + applicationRuleCollections?: AzureFirewallApplicationRuleCollection[]; + networkRuleCollections?: AzureFirewallNetworkRuleCollection[]; + ipConfigurations?: AzureFirewallIPConfiguration[]; + provisioningState?: string; + readonly etag?: string; } /** * @class - * Initializes a new instance of the TagsObject class. + * Initializes a new instance of the AzureFirewallFqdnTag class. * @constructor - * Tags object for patch operations. + * Azure Firewall FQDN Tag Resource * - * @member {object} [tags] Resource tags. + * @member {string} [provisioningState] The provisioning state of the resource. + * @member {string} [fqdnTagName] The name of this FQDN Tag. + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. */ -export interface TagsObject { - tags?: { [propertyName: string]: string }; +export interface AzureFirewallFqdnTag extends Resource { + readonly provisioningState?: string; + readonly fqdnTagName?: string; + readonly etag?: string; } /** @@ -3412,412 +4846,193 @@ export interface ExpressRouteCrossConnectionRoutesTableSummary { neighbor?: string; asn?: number; upDown?: string; - stateOrPrefixesReceived?: string; -} - -/** - * @class - * Initializes a new instance of the ExpressRouteCrossConnectionsRoutesTableSummaryListResult class. - * @constructor - * Response for ListRoutesTable associated with the Express Route Cross - * Connections. - * - * @member {array} [value] A list of the routes table. - * @member {string} [nextLink] The URL to get the next set of results. - */ -export interface ExpressRouteCrossConnectionsRoutesTableSummaryListResult { - value?: ExpressRouteCrossConnectionRoutesTableSummary[]; - readonly nextLink?: string; -} - -/** - * @class - * Initializes a new instance of the ExpressRouteCircuitReference class. - * @constructor - * @member {string} [id] Corresponding Express Route Circuit Id. - */ -export interface ExpressRouteCircuitReference { - id?: string; -} - -/** - * @class - * Initializes a new instance of the ExpressRouteCrossConnectionPeering class. - * @constructor - * Peering in an ExpressRoute Cross Connection resource. - * - * @member {string} [peeringType] The peering type. Possible values include: - * 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - * @member {string} [state] The peering state. Possible values include: - * 'Disabled', 'Enabled' - * @member {number} [azureASN] The Azure ASN. - * @member {number} [peerASN] The peer ASN. - * @member {string} [primaryPeerAddressPrefix] The primary address prefix. - * @member {string} [secondaryPeerAddressPrefix] The secondary address prefix. - * @member {string} [primaryAzurePort] The primary port. - * @member {string} [secondaryAzurePort] The secondary port. - * @member {string} [sharedKey] The shared key. - * @member {number} [vlanId] The VLAN ID. - * @member {object} [microsoftPeeringConfig] The Microsoft peering - * configuration. - * @member {array} [microsoftPeeringConfig.advertisedPublicPrefixes] The - * reference of AdvertisedPublicPrefixes. - * @member {array} [microsoftPeeringConfig.advertisedCommunities] The - * communities of bgp peering. Spepcified for microsoft peering - * @member {string} [microsoftPeeringConfig.advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @member {number} [microsoftPeeringConfig.legacyMode] The legacy mode of the - * peering. - * @member {number} [microsoftPeeringConfig.customerASN] The CustomerASN of the - * peering. - * @member {string} [microsoftPeeringConfig.routingRegistryName] The - * RoutingRegistryName of the configuration. - * @member {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [gatewayManagerEtag] The GatewayManager Etag. - * @member {string} [lastModifiedBy] Gets whether the provider or the customer - * last modified the peering. - * @member {object} [ipv6PeeringConfig] The IPv6 peering configuration. - * @member {string} [ipv6PeeringConfig.primaryPeerAddressPrefix] The primary - * address prefix. - * @member {string} [ipv6PeeringConfig.secondaryPeerAddressPrefix] The - * secondary address prefix. - * @member {object} [ipv6PeeringConfig.microsoftPeeringConfig] The Microsoft - * peering configuration. - * @member {array} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes] The - * reference of AdvertisedPublicPrefixes. - * @member {array} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities] The - * communities of bgp peering. Spepcified for microsoft peering - * @member {string} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @member {number} [ipv6PeeringConfig.microsoftPeeringConfig.legacyMode] The - * legacy mode of the peering. - * @member {number} [ipv6PeeringConfig.microsoftPeeringConfig.customerASN] The - * CustomerASN of the peering. - * @member {string} - * [ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName] The - * RoutingRegistryName of the configuration. - * @member {object} [ipv6PeeringConfig.routeFilter] The reference of the - * RouteFilter resource. - * @member {array} [ipv6PeeringConfig.routeFilter.rules] Collection of - * RouteFilterRules contained within a route filter. - * @member {array} [ipv6PeeringConfig.routeFilter.peerings] A collection of - * references to express route circuit peerings. - * @member {string} [ipv6PeeringConfig.routeFilter.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', 'Succeeded' and 'Failed'. - * @member {string} [ipv6PeeringConfig.routeFilter.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * @member {string} [ipv6PeeringConfig.state] The state of peering. Possible - * values are: 'Disabled' and 'Enabled'. Possible values include: 'Disabled', - * 'Enabled' - * @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 ExpressRouteCrossConnectionPeering extends SubResource { - peeringType?: string; - state?: string; - readonly azureASN?: number; - peerASN?: number; - primaryPeerAddressPrefix?: string; - secondaryPeerAddressPrefix?: string; - readonly primaryAzurePort?: string; - readonly secondaryAzurePort?: string; - sharedKey?: string; - vlanId?: number; - microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig; - readonly provisioningState?: string; - gatewayManagerEtag?: string; - lastModifiedBy?: string; - ipv6PeeringConfig?: Ipv6ExpressRouteCircuitPeeringConfig; - name?: string; - readonly etag?: string; + stateOrPrefixesReceived?: string; } /** * @class - * Initializes a new instance of the ExpressRouteCrossConnection class. + * Initializes a new instance of the ExpressRouteCrossConnectionsRoutesTableSummaryListResult class. * @constructor - * ExpressRouteCrossConnection resource + * Response for ListRoutesTable associated with the Express Route Cross + * Connections. * - * @member {string} [primaryAzurePort] The name of the primary port. - * @member {string} [secondaryAzurePort] The name of the secondary port. - * @member {number} [sTag] The identifier of the circuit traffic. - * @member {string} [peeringLocation] The peering location of the ExpressRoute - * circuit. - * @member {number} [bandwidthInMbps] The circuit bandwidth In Mbps. - * @member {object} [expressRouteCircuit] The ExpressRouteCircuit - * @member {string} [expressRouteCircuit.id] Corresponding Express Route - * Circuit Id. - * @member {string} [serviceProviderProvisioningState] The provisioning state - * of the circuit in the connectivity provider system. Possible values are - * 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: - * 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - * @member {string} [serviceProviderNotes] Additional read only notes set by - * the connectivity provider. - * @member {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {array} [peerings] The list of peerings. - * @member {string} [etag] Gets a unique read-only string that changes whenever - * the resource is updated. + * @member {array} [value] A list of the routes table. + * @member {string} [nextLink] The URL to get the next set of results. */ -export interface ExpressRouteCrossConnection extends Resource { - readonly primaryAzurePort?: string; - readonly secondaryAzurePort?: string; - readonly sTag?: number; - peeringLocation?: string; - bandwidthInMbps?: number; - expressRouteCircuit?: ExpressRouteCircuitReference; - serviceProviderProvisioningState?: string; - serviceProviderNotes?: string; - readonly provisioningState?: string; - peerings?: ExpressRouteCrossConnectionPeering[]; - readonly etag?: string; +export interface ExpressRouteCrossConnectionsRoutesTableSummaryListResult { + value?: ExpressRouteCrossConnectionRoutesTableSummary[]; + readonly nextLink?: string; } /** * @class - * Initializes a new instance of the LoadBalancerSku class. + * Initializes a new instance of the ExpressRouteCircuitReference class. * @constructor - * SKU of a load balancer - * - * @member {string} [name] Name of a load balancer SKU. Possible values - * include: 'Basic', 'Standard' + * @member {string} [id] Corresponding Express Route Circuit Id. */ -export interface LoadBalancerSku { - name?: string; +export interface ExpressRouteCircuitReference { + id?: string; } /** * @class - * Initializes a new instance of the FrontendIPConfiguration class. + * Initializes a new instance of the ExpressRouteCrossConnectionPeering class. * @constructor - * Frontend IP address of the load balancer. + * Peering in an ExpressRoute Cross Connection resource. * - * @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 {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 {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} [peeringType] The peering type. Possible values include: + * 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + * @member {string} [state] The peering state. Possible values include: + * 'Disabled', 'Enabled' + * @member {number} [azureASN] The Azure ASN. + * @member {number} [peerASN] The peer ASN. + * @member {string} [primaryPeerAddressPrefix] The primary address prefix. + * @member {string} [secondaryPeerAddressPrefix] The secondary address prefix. + * @member {string} [primaryAzurePort] The primary port. + * @member {string} [secondaryAzurePort] The secondary port. + * @member {string} [sharedKey] The shared key. + * @member {number} [vlanId] The VLAN ID. + * @member {object} [microsoftPeeringConfig] The Microsoft peering + * configuration. + * @member {array} [microsoftPeeringConfig.advertisedPublicPrefixes] The + * reference of AdvertisedPublicPrefixes. + * @member {array} [microsoftPeeringConfig.advertisedCommunities] The + * communities of bgp peering. Spepcified for microsoft peering + * @member {string} [microsoftPeeringConfig.advertisedPublicPrefixesState] + * AdvertisedPublicPrefixState of the Peering resource. Possible values are + * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. + * Possible values include: 'NotConfigured', 'Configuring', 'Configured', + * 'ValidationNeeded' + * @member {number} [microsoftPeeringConfig.legacyMode] The legacy mode of the + * peering. + * @member {number} [microsoftPeeringConfig.customerASN] The CustomerASN of the + * peering. + * @member {string} [microsoftPeeringConfig.routingRegistryName] The + * RoutingRegistryName of the configuration. * @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 + * @member {string} [gatewayManagerEtag] The GatewayManager Etag. + * @member {string} [lastModifiedBy] Gets whether the provider or the customer + * last modified the peering. + * @member {object} [ipv6PeeringConfig] The IPv6 peering configuration. + * @member {string} [ipv6PeeringConfig.primaryPeerAddressPrefix] The primary + * address prefix. + * @member {string} [ipv6PeeringConfig.secondaryPeerAddressPrefix] The + * secondary address prefix. + * @member {object} [ipv6PeeringConfig.microsoftPeeringConfig] The Microsoft + * peering configuration. + * @member {array} + * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes] The + * reference of AdvertisedPublicPrefixes. + * @member {array} + * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities] The + * communities of bgp peering. Spepcified for microsoft peering + * @member {string} + * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixesState] + * AdvertisedPublicPrefixState of the Peering resource. Possible values are + * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. + * Possible values include: 'NotConfigured', 'Configuring', 'Configured', + * 'ValidationNeeded' + * @member {number} [ipv6PeeringConfig.microsoftPeeringConfig.legacyMode] The + * legacy mode of the peering. + * @member {number} [ipv6PeeringConfig.microsoftPeeringConfig.customerASN] The + * CustomerASN of the peering. + * @member {string} + * [ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName] The + * RoutingRegistryName of the configuration. + * @member {object} [ipv6PeeringConfig.routeFilter] The reference of the + * RouteFilter resource. + * @member {array} [ipv6PeeringConfig.routeFilter.rules] Collection of + * RouteFilterRules contained within a route filter. + * @member {array} [ipv6PeeringConfig.routeFilter.peerings] A collection of + * references to express route circuit peerings. + * @member {string} [ipv6PeeringConfig.routeFilter.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', 'Succeeded' and 'Failed'. + * @member {string} [ipv6PeeringConfig.routeFilter.etag] Gets a unique + * read-only string that changes whenever the resource is updated. + * @member {string} [ipv6PeeringConfig.state] The state of peering. Possible + * values are: 'Disabled' and 'Enabled'. Possible values include: 'Disabled', + * 'Enabled' + * @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. - * @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; +export interface ExpressRouteCrossConnectionPeering extends SubResource { + peeringType?: string; + state?: string; + readonly azureASN?: number; + peerASN?: number; + primaryPeerAddressPrefix?: string; + secondaryPeerAddressPrefix?: string; + readonly primaryAzurePort?: string; + readonly secondaryAzurePort?: string; + sharedKey?: string; + vlanId?: number; + microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig; + readonly provisioningState?: string; + gatewayManagerEtag?: string; + lastModifiedBy?: string; + ipv6PeeringConfig?: Ipv6ExpressRouteCircuitPeeringConfig; + name?: string; + readonly etag?: string; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteCrossConnection class. + * @constructor + * ExpressRouteCrossConnection resource + * + * @member {string} [primaryAzurePort] The name of the primary port. + * @member {string} [secondaryAzurePort] The name of the secondary port. + * @member {number} [sTag] The identifier of the circuit traffic. + * @member {string} [peeringLocation] The peering location of the ExpressRoute + * circuit. + * @member {number} [bandwidthInMbps] The circuit bandwidth In Mbps. + * @member {object} [expressRouteCircuit] The ExpressRouteCircuit + * @member {string} [expressRouteCircuit.id] Corresponding Express Route + * Circuit Id. + * @member {string} [serviceProviderProvisioningState] The provisioning state + * of the circuit in the connectivity provider system. Possible values are + * 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: + * 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + * @member {string} [serviceProviderNotes] Additional read only notes set by + * the connectivity provider. + * @member {string} [provisioningState] Gets the provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {array} [peerings] The list of peerings. + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. + */ +export interface ExpressRouteCrossConnection extends Resource { + readonly primaryAzurePort?: string; + readonly secondaryAzurePort?: string; + readonly sTag?: number; + peeringLocation?: string; + bandwidthInMbps?: number; + expressRouteCircuit?: ExpressRouteCircuitReference; + serviceProviderProvisioningState?: string; + serviceProviderNotes?: string; + readonly provisioningState?: string; + peerings?: ExpressRouteCrossConnectionPeering[]; + readonly etag?: string; +} + +/** + * @class + * Initializes a new instance of the LoadBalancerSku class. + * @constructor + * SKU of a load balancer + * + * @member {string} [name] Name of a load balancer SKU. Possible values + * include: 'Basic', 'Standard' + */ +export interface LoadBalancerSku { name?: string; - etag?: string; - zones?: string[]; } /** @@ -3991,7 +5206,7 @@ export interface InboundNatPool extends SubResource { * * @member {number} [allocatedOutboundPorts] The number of outbound ports to be * used for NAT. - * @member {array} [frontendIPConfigurations] The Frontend IP addresses of the + * @member {array} frontendIPConfigurations The Frontend IP addresses of the * load balancer. * @member {object} backendAddressPool A reference to a pool of DIPs. Outbound * traffic is randomly load balanced across IPs in the backend IPs. @@ -3999,7 +5214,7 @@ export interface InboundNatPool extends SubResource { * @member {string} [provisioningState] Gets the provisioning state of the * PublicIP resource. Possible values are: 'Updating', 'Deleting', and * 'Failed'. - * @member {string} [protocol] Protocol - TCP, UDP or All. Possible values + * @member {string} protocol Protocol - TCP, UDP or All. Possible values * include: 'Tcp', 'Udp', 'All' * @member {boolean} [enableTcpReset] Receive bidirectional TCP Reset on TCP * flow idle timeout or unexpected connection termination. This element is only @@ -4013,10 +5228,10 @@ export interface InboundNatPool extends SubResource { */ export interface OutboundRule extends SubResource { allocatedOutboundPorts?: number; - frontendIPConfigurations?: SubResource[]; + frontendIPConfigurations: SubResource[]; backendAddressPool: SubResource; provisioningState?: string; - protocol?: string; + protocol: string; enableTcpReset?: boolean; idleTimeoutInMinutes?: number; name?: string; @@ -7330,18 +8545,6 @@ export interface VpnSiteId { } -/** - * @class - * Initializes a new instance of the AzureFirewallListResult class. - * @constructor - * Response for ListAzureFirewalls API service call. - * - * @member {string} [nextLink] URL to get the next set of results. - */ -export interface AzureFirewallListResult extends Array { - nextLink?: string; -} - /** * @class * Initializes a new instance of the ApplicationGatewayListResult class. @@ -7378,6 +8581,30 @@ export interface ApplicationSecurityGroupListResult extends Array { + nextLink?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallFqdnTagListResult class. + * @constructor + * Response for ListAzureFirewallFqdnTags API service call. + * + * @member {string} [nextLink] URL to get the next set of results. + */ +export interface AzureFirewallFqdnTagListResult extends Array { + nextLink?: string; +} + /** * @class * Initializes a new instance of the DdosProtectionPlanListResult class. @@ -7585,6 +8812,18 @@ export interface NetworkInterfaceLoadBalancerListResult extends Array { + readonly nextLink?: string; +} + /** * @class * Initializes a new instance of the NetworkSecurityGroupListResult class. @@ -7738,6 +8977,32 @@ export interface BgpServiceCommunityListResult extends Array { + readonly nextLink?: string; +} + +/** + * @class + * Initializes a new instance of the ServiceEndpointPolicyDefinitionListResult class. + * @constructor + * Response for ListServiceEndpointPolicyDefinition API service call. Retrieves + * all service endpoint policy definition that belongs to a service endpoint + * policy. + * + * @member {string} [nextLink] The URL to get the next set of results. + */ +export interface ServiceEndpointPolicyDefinitionListResult extends Array { + nextLink?: string; +} + /** * @class * Initializes a new instance of the UsagesListResult class. @@ -7800,6 +9065,18 @@ export interface VirtualNetworkPeeringListResult extends Array { + nextLink?: string; +} + /** * @class * Initializes a new instance of the VirtualNetworkGatewayListResult class. @@ -7932,29 +9209,3 @@ export interface ListVpnGatewaysResult extends Array { export interface ListVpnConnectionsResult extends Array { nextLink?: string; } - -/** - * @class - * Initializes a new instance of the ServiceEndpointPolicyListResult class. - * @constructor - * Response for ListServiceEndpointPolicies API service call. - * - * @member {string} [nextLink] The URL to get the next set of results. - */ -export interface ServiceEndpointPolicyListResult extends Array { - readonly nextLink?: string; -} - -/** - * @class - * Initializes a new instance of the ServiceEndpointPolicyDefinitionListResult class. - * @constructor - * Response for ListServiceEndpointPolicyDefinition API service call. Retrieves - * all service endpoint policy definition that belongs to a service endpoint - * policy. - * - * @member {string} [nextLink] The URL to get the next set of results. - */ -export interface ServiceEndpointPolicyDefinitionListResult extends Array { - nextLink?: string; -} diff --git a/lib/services/networkManagement2/lib/models/index.js b/lib/services/networkManagement2/lib/models/index.js index 45b249ebbb..48857ffe2a 100644 --- a/lib/services/networkManagement2/lib/models/index.js +++ b/lib/services/networkManagement2/lib/models/index.js @@ -19,17 +19,8 @@ var msRestAzure = require('ms-rest-azure'); exports.BaseResource = msRestAzure.BaseResource; exports.CloudError = msRestAzure.CloudError; exports.SubResource = require('./subResource'); -exports.AzureFirewallIPConfiguration = require('./azureFirewallIPConfiguration'); -exports.AzureFirewallRCAction = require('./azureFirewallRCAction'); -exports.AzureFirewallApplicationRuleProtocol = require('./azureFirewallApplicationRuleProtocol'); -exports.AzureFirewallApplicationRule = require('./azureFirewallApplicationRule'); -exports.AzureFirewallApplicationRuleCollection = require('./azureFirewallApplicationRuleCollection'); -exports.AzureFirewallNetworkRule = require('./azureFirewallNetworkRule'); -exports.AzureFirewallNetworkRuleCollection = require('./azureFirewallNetworkRuleCollection'); +exports.NetworkInterfaceTapConfiguration = require('./networkInterfaceTapConfiguration'); exports.Resource = require('./resource'); -exports.AzureFirewall = require('./azureFirewall'); -exports.BackendAddressPool = require('./backendAddressPool'); -exports.InboundNatRule = require('./inboundNatRule'); exports.ApplicationSecurityGroup = require('./applicationSecurityGroup'); exports.SecurityRule = require('./securityRule'); exports.NetworkInterfaceDnsSettings = require('./networkInterfaceDnsSettings'); @@ -47,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'); @@ -60,7 +55,6 @@ exports.ApplicationGatewaySku = require('./applicationGatewaySku'); exports.ApplicationGatewaySslPolicy = require('./applicationGatewaySslPolicy'); exports.ApplicationGatewayIPConfiguration = require('./applicationGatewayIPConfiguration'); exports.ApplicationGatewayAuthenticationCertificate = require('./applicationGatewayAuthenticationCertificate'); -exports.ApplicationGatewayTrustedRootCertificate = require('./applicationGatewayTrustedRootCertificate'); exports.ApplicationGatewaySslCertificate = require('./applicationGatewaySslCertificate'); exports.ApplicationGatewayFrontendIPConfiguration = require('./applicationGatewayFrontendIPConfiguration'); exports.ApplicationGatewayFrontendPort = require('./applicationGatewayFrontendPort'); @@ -83,6 +77,15 @@ exports.ApplicationGatewayAvailableWafRuleSetsResult = require('./applicationGat exports.ApplicationGatewayAvailableSslOptions = require('./applicationGatewayAvailableSslOptions'); exports.ApplicationGatewaySslPredefinedPolicy = require('./applicationGatewaySslPredefinedPolicy'); exports.TagsObject = require('./tagsObject'); +exports.AzureFirewallIPConfiguration = require('./azureFirewallIPConfiguration'); +exports.AzureFirewallRCAction = require('./azureFirewallRCAction'); +exports.AzureFirewallApplicationRuleProtocol = require('./azureFirewallApplicationRuleProtocol'); +exports.AzureFirewallApplicationRule = require('./azureFirewallApplicationRule'); +exports.AzureFirewallApplicationRuleCollection = require('./azureFirewallApplicationRuleCollection'); +exports.AzureFirewallNetworkRule = require('./azureFirewallNetworkRule'); +exports.AzureFirewallNetworkRuleCollection = require('./azureFirewallNetworkRuleCollection'); +exports.AzureFirewall = require('./azureFirewall'); +exports.AzureFirewallFqdnTag = require('./azureFirewallFqdnTag'); exports.DnsNameAvailabilityResult = require('./dnsNameAvailabilityResult'); exports.DdosProtectionPlan = require('./ddosProtectionPlan'); exports.EndpointServiceResult = require('./endpointServiceResult'); @@ -111,7 +114,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'); @@ -247,10 +249,11 @@ exports.VpnConnection = require('./vpnConnection'); exports.Policies = require('./policies'); exports.VpnGateway = require('./vpnGateway'); exports.VpnSiteId = require('./vpnSiteId'); -exports.AzureFirewallListResult = require('./azureFirewallListResult'); exports.ApplicationGatewayListResult = require('./applicationGatewayListResult'); exports.ApplicationGatewayAvailableSslPredefinedPolicies = require('./applicationGatewayAvailableSslPredefinedPolicies'); exports.ApplicationSecurityGroupListResult = require('./applicationSecurityGroupListResult'); +exports.AzureFirewallListResult = require('./azureFirewallListResult'); +exports.AzureFirewallFqdnTagListResult = require('./azureFirewallFqdnTagListResult'); exports.DdosProtectionPlanListResult = require('./ddosProtectionPlanListResult'); exports.EndpointServicesListResult = require('./endpointServicesListResult'); exports.AuthorizationListResult = require('./authorizationListResult'); @@ -268,6 +271,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'); @@ -281,11 +285,14 @@ exports.RouteFilterRuleListResult = require('./routeFilterRuleListResult'); exports.RouteTableListResult = require('./routeTableListResult'); exports.RouteListResult = require('./routeListResult'); exports.BgpServiceCommunityListResult = require('./bgpServiceCommunityListResult'); +exports.ServiceEndpointPolicyListResult = require('./serviceEndpointPolicyListResult'); +exports.ServiceEndpointPolicyDefinitionListResult = require('./serviceEndpointPolicyDefinitionListResult'); exports.UsagesListResult = require('./usagesListResult'); 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'); @@ -296,5 +303,3 @@ exports.ListVirtualHubsResult = require('./listVirtualHubsResult'); exports.ListHubVirtualNetworkConnectionsResult = require('./listHubVirtualNetworkConnectionsResult'); exports.ListVpnGatewaysResult = require('./listVpnGatewaysResult'); exports.ListVpnConnectionsResult = require('./listVpnConnectionsResult'); -exports.ServiceEndpointPolicyListResult = require('./serviceEndpointPolicyListResult'); -exports.ServiceEndpointPolicyDefinitionListResult = require('./serviceEndpointPolicyDefinitionListResult'); diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js index 41fa32a85f..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 @@ -37,6 +39,8 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * 'IPv6'. Possible values include: 'IPv4', 'IPv6' * @member {object} [subnet] Subnet bound to the IP configuration. * @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 @@ -106,6 +110,8 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * 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. @@ -248,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/outboundRule.js b/lib/services/networkManagement2/lib/models/outboundRule.js index a57b753c3b..8ba27b1b00 100644 --- a/lib/services/networkManagement2/lib/models/outboundRule.js +++ b/lib/services/networkManagement2/lib/models/outboundRule.js @@ -22,15 +22,15 @@ class OutboundRule extends models['SubResource'] { * Create a OutboundRule. * @member {number} [allocatedOutboundPorts] The number of outbound ports to * be used for NAT. - * @member {array} [frontendIPConfigurations] The Frontend IP addresses of - * the load balancer. + * @member {array} frontendIPConfigurations The Frontend IP addresses of the + * load balancer. * @member {object} backendAddressPool A reference to a pool of DIPs. * Outbound traffic is randomly load balanced across IPs in the backend IPs. * @member {string} [backendAddressPool.id] Resource ID. * @member {string} [provisioningState] Gets the provisioning state of the * PublicIP resource. Possible values are: 'Updating', 'Deleting', and * 'Failed'. - * @member {string} [protocol] Protocol - TCP, UDP or All. Possible values + * @member {string} protocol Protocol - TCP, UDP or All. Possible values * include: 'Tcp', 'Udp', 'All' * @member {boolean} [enableTcpReset] Receive bidirectional TCP Reset on TCP * flow idle timeout or unexpected connection termination. This element is @@ -75,7 +75,7 @@ class OutboundRule extends models['SubResource'] { } }, frontendIPConfigurations: { - required: false, + required: true, serializedName: 'properties.frontendIPConfigurations', type: { name: 'Sequence', @@ -105,7 +105,7 @@ class OutboundRule extends models['SubResource'] { } }, protocol: { - required: false, + required: true, serializedName: 'properties.protocol', type: { name: 'String' diff --git a/lib/services/networkManagement2/lib/models/publicIPAddress.js b/lib/services/networkManagement2/lib/models/publicIPAddress.js index 67f1af4f99..ac1c028f1c 100644 --- a/lib/services/networkManagement2/lib/models/publicIPAddress.js +++ b/lib/services/networkManagement2/lib/models/publicIPAddress.js @@ -40,6 +40,8 @@ class PublicIPAddress extends models['Resource'] { * resource. * @member {string} [ipConfiguration.subnet.addressPrefix] The address prefix * for the subnet. + * @member {array} [ipConfiguration.subnet.addressPrefixes] List of address + * prefixes for the subnet. * @member {object} [ipConfiguration.subnet.networkSecurityGroup] The * reference of the NetworkSecurityGroup resource. * @member {array} diff --git a/lib/services/networkManagement2/lib/models/subnet.js b/lib/services/networkManagement2/lib/models/subnet.js index 96718bbd13..a74001005c 100644 --- a/lib/services/networkManagement2/lib/models/subnet.js +++ b/lib/services/networkManagement2/lib/models/subnet.js @@ -21,6 +21,8 @@ class Subnet extends models['SubResource'] { /** * Create a Subnet. * @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 @@ -96,6 +98,20 @@ class Subnet extends models['SubResource'] { name: 'String' } }, + addressPrefixes: { + required: false, + serializedName: 'properties.addressPrefixes', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, networkSecurityGroup: { required: false, serializedName: 'properties.networkSecurityGroup', 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 8e605e9d50..ed5c57c221 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.d.ts +++ b/lib/services/networkManagement2/lib/networkManagementClient.d.ts @@ -54,9 +54,10 @@ export default class NetworkManagementClient extends AzureServiceClient { generateClientRequestId: boolean; // Operation groups - azureFirewalls: operations.AzureFirewalls; applicationGateways: operations.ApplicationGateways; applicationSecurityGroups: operations.ApplicationSecurityGroups; + azureFirewalls: operations.AzureFirewalls; + azureFirewallFqdnTags: operations.AzureFirewallFqdnTags; ddosProtectionPlans: operations.DdosProtectionPlans; availableEndpointServices: operations.AvailableEndpointServices; expressRouteCircuitAuthorizations: operations.ExpressRouteCircuitAuthorizations; @@ -76,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; @@ -90,10 +92,13 @@ export default class NetworkManagementClient extends AzureServiceClient { routeTables: operations.RouteTables; routes: operations.Routes; bgpServiceCommunities: operations.BgpServiceCommunities; + serviceEndpointPolicies: operations.ServiceEndpointPolicies; + serviceEndpointPolicyDefinitions: operations.ServiceEndpointPolicyDefinitions; usages: operations.Usages; virtualNetworks: operations.VirtualNetworks; subnets: operations.Subnets; virtualNetworkPeerings: operations.VirtualNetworkPeerings; + virtualNetworkTaps: operations.VirtualNetworkTaps; virtualNetworkGateways: operations.VirtualNetworkGateways; virtualNetworkGatewayConnections: operations.VirtualNetworkGatewayConnections; localNetworkGateways: operations.LocalNetworkGateways; @@ -104,8 +109,6 @@ export default class NetworkManagementClient extends AzureServiceClient { hubVirtualNetworkConnections: operations.HubVirtualNetworkConnections; vpnGateways: operations.VpnGateways; vpnConnections: operations.VpnConnections; - serviceEndpointPolicies: operations.ServiceEndpointPolicies; - serviceEndpointPolicyDefinitions: operations.ServiceEndpointPolicyDefinitions; /** diff --git a/lib/services/networkManagement2/lib/networkManagementClient.js b/lib/services/networkManagement2/lib/networkManagementClient.js index f4d05c202f..4cdb87b873 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.js +++ b/lib/services/networkManagement2/lib/networkManagementClient.js @@ -61,7 +61,7 @@ function _checkDnsNameAvailability(location, domainNameLabel, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { @@ -218,9 +218,10 @@ class NetworkManagementClient extends ServiceClient { if(options.generateClientRequestId !== null && options.generateClientRequestId !== undefined) { this.generateClientRequestId = options.generateClientRequestId; } - this.azureFirewalls = new operations.AzureFirewalls(this); this.applicationGateways = new operations.ApplicationGateways(this); this.applicationSecurityGroups = new operations.ApplicationSecurityGroups(this); + this.azureFirewalls = new operations.AzureFirewalls(this); + this.azureFirewallFqdnTags = new operations.AzureFirewallFqdnTags(this); this.ddosProtectionPlans = new operations.DdosProtectionPlans(this); this.availableEndpointServices = new operations.AvailableEndpointServices(this); this.expressRouteCircuitAuthorizations = new operations.ExpressRouteCircuitAuthorizations(this); @@ -240,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); @@ -254,10 +256,13 @@ class NetworkManagementClient extends ServiceClient { this.routeTables = new operations.RouteTables(this); this.routes = new operations.Routes(this); this.bgpServiceCommunities = new operations.BgpServiceCommunities(this); + this.serviceEndpointPolicies = new operations.ServiceEndpointPolicies(this); + this.serviceEndpointPolicyDefinitions = new operations.ServiceEndpointPolicyDefinitions(this); this.usages = new operations.Usages(this); 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); @@ -268,8 +273,6 @@ class NetworkManagementClient extends ServiceClient { this.hubVirtualNetworkConnections = new operations.HubVirtualNetworkConnections(this); this.vpnGateways = new operations.VpnGateways(this); this.vpnConnections = new operations.VpnConnections(this); - this.serviceEndpointPolicies = new operations.ServiceEndpointPolicies(this); - this.serviceEndpointPolicyDefinitions = new operations.ServiceEndpointPolicyDefinitions(this); this.models = models; this._checkDnsNameAvailability = _checkDnsNameAvailability; msRest.addSerializationMixin(this); diff --git a/lib/services/networkManagement2/lib/operations/applicationGateways.js b/lib/services/networkManagement2/lib/operations/applicationGateways.js index 767ea35ad1..fea54ef420 100644 --- a/lib/services/networkManagement2/lib/operations/applicationGateways.js +++ b/lib/services/networkManagement2/lib/operations/applicationGateways.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, applicationGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -269,9 +269,6 @@ function _get(resourceGroupName, applicationGatewayName, options, callback) { * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * @@ -554,7 +551,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -690,7 +687,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1032,7 +1029,7 @@ function _listAvailableWafRuleSets(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1164,7 +1161,7 @@ function _listAvailableSslOptions(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1297,7 +1294,7 @@ function _listAvailableSslPredefinedPolicies(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1431,7 +1428,7 @@ function _getSslPredefinedPolicy(predefinedPolicyName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1569,7 +1566,7 @@ function _beginDeleteMethod(resourceGroupName, applicationGatewayName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1708,9 +1705,6 @@ function _beginDeleteMethod(resourceGroupName, applicationGatewayName, options, * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * @@ -1834,7 +1828,7 @@ function _beginCreateOrUpdate(resourceGroupName, applicationGatewayName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2016,7 +2010,7 @@ function _beginUpdateTags(resourceGroupName, applicationGatewayName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2175,7 +2169,7 @@ function _beginStart(resourceGroupName, applicationGatewayName, options, callbac if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2300,7 +2294,7 @@ function _beginStop(resourceGroupName, applicationGatewayName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2432,7 +2426,7 @@ function _beginBackendHealth(resourceGroupName, applicationGatewayName, options, throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3182,9 +3176,6 @@ class ApplicationGateways { * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * @@ -3353,9 +3344,6 @@ class ApplicationGateways { * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * @@ -4476,9 +4464,6 @@ class ApplicationGateways { * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * @@ -4647,9 +4632,6 @@ class ApplicationGateways { * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * diff --git a/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js b/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js index 8fb7fc3086..8f4d7be13a 100644 --- a/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js +++ b/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, applicationSecurityGroupName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -344,7 +344,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -478,7 +478,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -617,7 +617,7 @@ function _beginDeleteMethod(resourceGroupName, applicationSecurityGroupName, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -754,7 +754,7 @@ function _beginCreateOrUpdate(resourceGroupName, applicationSecurityGroupName, p if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/availableEndpointServices.js b/lib/services/networkManagement2/lib/operations/availableEndpointServices.js index 36036c39cc..959cdbd191 100644 --- a/lib/services/networkManagement2/lib/operations/availableEndpointServices.js +++ b/lib/services/networkManagement2/lib/operations/availableEndpointServices.js @@ -48,7 +48,7 @@ function _list(location, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/azureFirewallFqdnTags.js b/lib/services/networkManagement2/lib/operations/azureFirewallFqdnTags.js new file mode 100644 index 0000000000..f45c916178 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/azureFirewallFqdnTags.js @@ -0,0 +1,455 @@ +/* + * 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; + +/** + * Gets all the Azure Firewall FQDN Tags 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 AzureFirewallFqdnTagListResult} 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/azureFirewallFqdnTags'; + 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['AzureFirewallFqdnTagListResult']().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 Azure Firewall FQDN Tags 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 AzureFirewallFqdnTagListResult} 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['AzureFirewallFqdnTagListResult']().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 AzureFirewallFqdnTags. */ +class AzureFirewallFqdnTags { + /** + * Create a AzureFirewallFqdnTags. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._listAll = _listAll; + this._listAllNext = _listAllNext; + } + + /** + * Gets all the Azure Firewall FQDN Tags 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 Azure Firewall FQDN Tags 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 {AzureFirewallFqdnTagListResult} - 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 AzureFirewallFqdnTagListResult} 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 Azure Firewall FQDN Tags 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 Azure Firewall FQDN Tags 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 {AzureFirewallFqdnTagListResult} - 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 AzureFirewallFqdnTagListResult} 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); + } + } + +} + +module.exports = AzureFirewallFqdnTags; diff --git a/lib/services/networkManagement2/lib/operations/azureFirewalls.js b/lib/services/networkManagement2/lib/operations/azureFirewalls.js index 5de0196cef..5f67cc1f62 100644 --- a/lib/services/networkManagement2/lib/operations/azureFirewalls.js +++ b/lib/services/networkManagement2/lib/operations/azureFirewalls.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, azureFirewallName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -354,7 +354,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -490,7 +490,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -624,7 +624,7 @@ function _beginDeleteMethod(resourceGroupName, azureFirewallName, options, callb if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -772,7 +772,7 @@ function _beginCreateOrUpdate(resourceGroupName, azureFirewallName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js b/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js index 241ca302be..93e1fb43f5 100644 --- a/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js +++ b/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js @@ -46,7 +46,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/connectionMonitors.js b/lib/services/networkManagement2/lib/operations/connectionMonitors.js index 746359b111..66d6b97470 100644 --- a/lib/services/networkManagement2/lib/operations/connectionMonitors.js +++ b/lib/services/networkManagement2/lib/operations/connectionMonitors.js @@ -167,7 +167,7 @@ function _get(resourceGroupName, networkWatcherName, connectionMonitorName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -598,7 +598,7 @@ function _list(resourceGroupName, networkWatcherName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -778,7 +778,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkWatcherName, connectionM if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -962,7 +962,7 @@ function _beginDeleteMethod(resourceGroupName, networkWatcherName, connectionMon if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1095,7 +1095,7 @@ function _beginStop(resourceGroupName, networkWatcherName, connectionMonitorName if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1228,7 +1228,7 @@ function _beginStart(resourceGroupName, networkWatcherName, connectionMonitorNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1364,7 +1364,7 @@ function _beginQuery(resourceGroupName, networkWatcherName, connectionMonitorNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js b/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js index 0b45c5c7f9..498e565f40 100644 --- a/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js +++ b/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, ddosProtectionPlanName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -337,7 +337,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -471,7 +471,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -609,7 +609,7 @@ function _beginDeleteMethod(resourceGroupName, ddosProtectionPlanName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -742,7 +742,7 @@ function _beginCreateOrUpdate(resourceGroupName, ddosProtectionPlanName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js b/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js index d8511ce493..5c2255fe9b 100644 --- a/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js +++ b/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js @@ -51,7 +51,7 @@ function _list(resourceGroupName, networkSecurityGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -198,7 +198,7 @@ function _get(resourceGroupName, networkSecurityGroupName, defaultSecurityRuleNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js index f07a7b208e..80525f78a6 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js @@ -118,7 +118,7 @@ function _get(resourceGroupName, circuitName, authorizationName, options, callba if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -367,7 +367,7 @@ function _list(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -512,7 +512,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, authorizationName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -665,7 +665,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, authorizationName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js index 402051f443..c4fc55ba4c 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js @@ -125,7 +125,7 @@ function _get(resourceGroupName, circuitName, peeringName, connectionName, optio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -395,7 +395,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, peeringName, connect if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -565,7 +565,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, peeringName, conne if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js index e1e4445cd8..472a9c5aff 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js @@ -117,7 +117,7 @@ function _get(resourceGroupName, circuitName, peeringName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -476,7 +476,7 @@ function _list(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -620,7 +620,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, peeringName, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -883,7 +883,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, peeringName, peeri if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js index 9054bf8d6b..d3622cf009 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -731,7 +731,7 @@ function _getStats(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -877,7 +877,7 @@ function _getPeeringStats(resourceGroupName, circuitName, peeringName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1023,7 +1023,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1159,7 +1159,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1293,7 +1293,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1480,7 +1480,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, parameters, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1662,7 +1662,7 @@ function _beginUpdateTags(resourceGroupName, circuitName, parameters, options, c if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1828,7 +1828,7 @@ function _beginListArpTable(resourceGroupName, circuitName, peeringName, deviceP if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1985,7 +1985,7 @@ function _beginListRoutesTable(resourceGroupName, circuitName, peeringName, devi if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2143,7 +2143,7 @@ function _beginListRoutesTableSummary(resourceGroupName, circuitName, peeringNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js index 04c4c9010b..fbc867ff48 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js @@ -51,7 +51,7 @@ function _list(resourceGroupName, crossConnectionName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -264,7 +264,7 @@ function _get(resourceGroupName, crossConnectionName, peeringName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -595,7 +595,7 @@ function _beginDeleteMethod(resourceGroupName, crossConnectionName, peeringName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -829,7 +829,7 @@ function _beginCreateOrUpdate(resourceGroupName, crossConnectionName, peeringNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js index 49f3a4f458..84edc12ba7 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js @@ -46,7 +46,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -180,7 +180,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -322,7 +322,7 @@ function _get(resourceGroupName, crossConnectionName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -947,7 +947,7 @@ function _beginCreateOrUpdate(resourceGroupName, crossConnectionName, parameters if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1113,7 +1113,7 @@ function _beginUpdateTags(resourceGroupName, crossConnectionName, crossConnectio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1280,7 +1280,7 @@ function _beginListArpTable(resourceGroupName, crossConnectionName, peeringName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1439,7 +1439,7 @@ function _beginListRoutesTableSummary(resourceGroupName, crossConnectionName, pe if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1597,7 +1597,7 @@ function _beginListRoutesTable(resourceGroupName, crossConnectionName, peeringNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js b/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js index 9bca1b78eb..695f5b31cb 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js @@ -46,7 +46,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js b/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js index b316b672fa..0de69c288d 100644 --- a/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js +++ b/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js @@ -52,7 +52,7 @@ function _get(resourceGroupName, virtualHubName, connectionName, options, callba if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -201,7 +201,7 @@ function _list(resourceGroupName, virtualHubName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/inboundNatRules.js b/lib/services/networkManagement2/lib/operations/inboundNatRules.js index 5d6831d638..a3ad71fefd 100644 --- a/lib/services/networkManagement2/lib/operations/inboundNatRules.js +++ b/lib/services/networkManagement2/lib/operations/inboundNatRules.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -263,7 +263,7 @@ function _get(resourceGroupName, loadBalancerName, inboundNatRuleName, options, throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -544,7 +544,7 @@ function _beginDeleteMethod(resourceGroupName, loadBalancerName, inboundNatRuleN if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -723,7 +723,7 @@ function _beginCreateOrUpdate(resourceGroupName, loadBalancerName, inboundNatRul if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/index.d.ts b/lib/services/networkManagement2/lib/operations/index.d.ts index d3ce49a887..09fb8f6509 100644 --- a/lib/services/networkManagement2/lib/operations/index.d.ts +++ b/lib/services/networkManagement2/lib/operations/index.d.ts @@ -14,19 +14,19 @@ import * as models from '../models'; /** * @class - * AzureFirewalls + * ApplicationGateways * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface AzureFirewalls { +export interface ApplicationGateways { /** - * Deletes the specified Azure Firewall. + * Deletes the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -39,14 +39,14 @@ export interface AzureFirewalls { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified Azure Firewall. + * Deletes the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -74,17 +74,17 @@ export interface AzureFirewalls { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, azureFirewallName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, azureFirewallName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified Azure Firewall. + * Gets the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -93,18 +93,18 @@ export interface AzureFirewalls { * * @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, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified Azure Firewall. + * Gets the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -118,7 +118,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {AzureFirewall} - The deserialized result object. + * @resolve {ApplicationGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -126,40 +126,154 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureFirewall} [result] - The deserialized result object if an error did not occur. - * See {@link AzureFirewall} for more information. + * {ApplicationGateway} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGateway} 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, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, azureFirewallName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, azureFirewallName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates the specified Azure Firewall. + * Creates or updates the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. + * @param {string} applicationGatewayName The name of the application gateway. * - * @param {object} parameters Parameters supplied to the create or update Azure - * Firewall operation. + * @param {object} parameters Parameters supplied to the create or update + * application gateway operation. * - * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * @param {object} [parameters.sku] SKU of the application gateway resource. * - * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * @param {string} [parameters.sku.name] Name of an application gateway SKU. + * Possible values include: 'Standard_Small', 'Standard_Medium', + * 'Standard_Large', 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' * - * @param {array} [parameters.ipConfigurations] IP configuration of the Azure - * Firewall resource. + * @param {string} [parameters.sku.tier] Tier of an application gateway. + * Possible values include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' + * @param {number} [parameters.sku.capacity] Capacity (instance count) of an + * application gateway. + * + * @param {object} [parameters.sslPolicy] SSL policy of the application gateway + * resource. + * + * @param {array} [parameters.sslPolicy.disabledSslProtocols] Ssl protocols to + * be disabled on application gateway. + * + * @param {string} [parameters.sslPolicy.policyType] Type of Ssl Policy. + * Possible values include: 'Predefined', 'Custom' + * + * @param {string} [parameters.sslPolicy.policyName] Name of Ssl predefined + * policy. Possible values include: 'AppGwSslPolicy20150501', + * 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + * + * @param {array} [parameters.sslPolicy.cipherSuites] Ssl cipher suites to be + * enabled in the specified order to application gateway. + * + * @param {string} [parameters.sslPolicy.minProtocolVersion] Minimum version of + * Ssl protocol to be supported on application gateway. Possible values + * include: 'TLSv1_0', 'TLSv1_1', 'TLSv1_2' + * + * @param {array} [parameters.gatewayIPConfigurations] Subnets of application + * the gateway resource. + * + * @param {array} [parameters.authenticationCertificates] Authentication + * certificates of the application gateway resource. + * + * @param {array} [parameters.sslCertificates] SSL certificates of the + * application gateway resource. + * + * @param {array} [parameters.frontendIPConfigurations] Frontend IP addresses + * of the application gateway resource. + * + * @param {array} [parameters.frontendPorts] Frontend ports of the application + * gateway resource. + * + * @param {array} [parameters.probes] Probes of the application gateway + * resource. + * + * @param {array} [parameters.backendAddressPools] Backend address pool of the + * application gateway resource. + * + * @param {array} [parameters.backendHttpSettingsCollection] Backend http + * settings of the application gateway resource. + * + * @param {array} [parameters.httpListeners] Http listeners of the application + * gateway resource. + * + * @param {array} [parameters.urlPathMaps] URL path map of the application + * gateway resource. + * + * @param {array} [parameters.requestRoutingRules] Request routing rules of the + * application gateway resource. + * + * @param {array} [parameters.redirectConfigurations] Redirect configurations + * of the application gateway resource. + * + * @param {object} [parameters.webApplicationFirewallConfiguration] Web + * application firewall configuration. + * + * @param {boolean} parameters.webApplicationFirewallConfiguration.enabled + * Whether the web application firewall is enabled or not. + * + * @param {string} parameters.webApplicationFirewallConfiguration.firewallMode + * Web application firewall mode. Possible values include: 'Detection', + * 'Prevention' + * + * @param {string} parameters.webApplicationFirewallConfiguration.ruleSetType + * The type of the web application firewall rule set. Possible values are: + * 'OWASP'. + * + * @param {string} + * parameters.webApplicationFirewallConfiguration.ruleSetVersion The version of + * the rule set type. + * + * @param {array} + * [parameters.webApplicationFirewallConfiguration.disabledRuleGroups] The + * disabled rule groups. + * + * @param {boolean} + * [parameters.webApplicationFirewallConfiguration.requestBodyCheck] Whether + * allow WAF to check request Body. + * + * @param {number} + * [parameters.webApplicationFirewallConfiguration.maxRequestBodySize] Maxium + * request body size for WAF. + * + * @param {boolean} [parameters.enableHttp2] Whether HTTP2 is enabled on the + * application gateway resource. + * + * @param {boolean} [parameters.enableFips] Whether FIPS is enabled on the + * application gateway resource. + * + * @param {object} [parameters.autoscaleConfiguration] Autoscale Configuration. + * + * @param {object} parameters.autoscaleConfiguration.bounds Autoscale bounds + * + * @param {number} parameters.autoscaleConfiguration.bounds.min Lower bound on + * number of Application Gateway instances. + * + * @param {number} parameters.autoscaleConfiguration.bounds.max Upper bound on + * number of Application Gateway instances. + * + * @param {string} [parameters.resourceGuid] Resource GUID property of the + * application gateway resource. + * + * @param {string} [parameters.provisioningState] Provisioning state of the + * application gateway 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 + * where the resource needs to come from. * * @param {string} [parameters.id] Resource ID. * @@ -174,34 +288,148 @@ export interface AzureFirewalls { * * @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, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates the specified Azure Firewall. + * Creates or updates the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. + * @param {string} applicationGatewayName The name of the application gateway. * - * @param {object} parameters Parameters supplied to the create or update Azure - * Firewall operation. + * @param {object} parameters Parameters supplied to the create or update + * application gateway operation. * - * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * @param {object} [parameters.sku] SKU of the application gateway resource. * - * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * @param {string} [parameters.sku.name] Name of an application gateway SKU. + * Possible values include: 'Standard_Small', 'Standard_Medium', + * 'Standard_Large', 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' * - * @param {array} [parameters.ipConfigurations] IP configuration of the Azure - * Firewall resource. + * @param {string} [parameters.sku.tier] Tier of an application gateway. + * Possible values include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' + * @param {number} [parameters.sku.capacity] Capacity (instance count) of an + * application gateway. + * + * @param {object} [parameters.sslPolicy] SSL policy of the application gateway + * resource. + * + * @param {array} [parameters.sslPolicy.disabledSslProtocols] Ssl protocols to + * be disabled on application gateway. + * + * @param {string} [parameters.sslPolicy.policyType] Type of Ssl Policy. + * Possible values include: 'Predefined', 'Custom' + * + * @param {string} [parameters.sslPolicy.policyName] Name of Ssl predefined + * policy. Possible values include: 'AppGwSslPolicy20150501', + * 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + * + * @param {array} [parameters.sslPolicy.cipherSuites] Ssl cipher suites to be + * enabled in the specified order to application gateway. + * + * @param {string} [parameters.sslPolicy.minProtocolVersion] Minimum version of + * Ssl protocol to be supported on application gateway. Possible values + * include: 'TLSv1_0', 'TLSv1_1', 'TLSv1_2' + * + * @param {array} [parameters.gatewayIPConfigurations] Subnets of application + * the gateway resource. + * + * @param {array} [parameters.authenticationCertificates] Authentication + * certificates of the application gateway resource. + * + * @param {array} [parameters.sslCertificates] SSL certificates of the + * application gateway resource. + * + * @param {array} [parameters.frontendIPConfigurations] Frontend IP addresses + * of the application gateway resource. + * + * @param {array} [parameters.frontendPorts] Frontend ports of the application + * gateway resource. + * + * @param {array} [parameters.probes] Probes of the application gateway + * resource. + * + * @param {array} [parameters.backendAddressPools] Backend address pool of the + * application gateway resource. + * + * @param {array} [parameters.backendHttpSettingsCollection] Backend http + * settings of the application gateway resource. + * + * @param {array} [parameters.httpListeners] Http listeners of the application + * gateway resource. + * + * @param {array} [parameters.urlPathMaps] URL path map of the application + * gateway resource. + * + * @param {array} [parameters.requestRoutingRules] Request routing rules of the + * application gateway resource. + * + * @param {array} [parameters.redirectConfigurations] Redirect configurations + * of the application gateway resource. + * + * @param {object} [parameters.webApplicationFirewallConfiguration] Web + * application firewall configuration. + * + * @param {boolean} parameters.webApplicationFirewallConfiguration.enabled + * Whether the web application firewall is enabled or not. + * + * @param {string} parameters.webApplicationFirewallConfiguration.firewallMode + * Web application firewall mode. Possible values include: 'Detection', + * 'Prevention' + * + * @param {string} parameters.webApplicationFirewallConfiguration.ruleSetType + * The type of the web application firewall rule set. Possible values are: + * 'OWASP'. + * + * @param {string} + * parameters.webApplicationFirewallConfiguration.ruleSetVersion The version of + * the rule set type. + * + * @param {array} + * [parameters.webApplicationFirewallConfiguration.disabledRuleGroups] The + * disabled rule groups. + * + * @param {boolean} + * [parameters.webApplicationFirewallConfiguration.requestBodyCheck] Whether + * allow WAF to check request Body. + * + * @param {number} + * [parameters.webApplicationFirewallConfiguration.maxRequestBodySize] Maxium + * request body size for WAF. + * + * @param {boolean} [parameters.enableHttp2] Whether HTTP2 is enabled on the + * application gateway resource. + * + * @param {boolean} [parameters.enableFips] Whether FIPS is enabled on the + * application gateway resource. + * + * @param {object} [parameters.autoscaleConfiguration] Autoscale Configuration. + * + * @param {object} parameters.autoscaleConfiguration.bounds Autoscale bounds + * + * @param {number} parameters.autoscaleConfiguration.bounds.min Lower bound on + * number of Application Gateway instances. + * + * @param {number} parameters.autoscaleConfiguration.bounds.max Upper bound on + * number of Application Gateway instances. + * + * @param {string} [parameters.resourceGuid] Resource GUID property of the + * application gateway resource. + * + * @param {string} [parameters.provisioningState] Provisioning state of the + * application gateway 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 + * where the resource needs to come from. * * @param {string} [parameters.id] Resource ID. * @@ -221,7 +449,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {AzureFirewall} - The deserialized result object. + * @resolve {ApplicationGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -229,23 +457,30 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureFirewall} [result] - The deserialized result object if an error did not occur. - * See {@link AzureFirewall} for more information. + * {ApplicationGateway} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGateway} 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, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all Azure Firewalls in a resource group. + * Updates the specified application gateway tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} applicationGatewayName The name of the application gateway. + * + * @param {object} parameters Parameters supplied to update application gateway + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -253,17 +488,24 @@ export interface AzureFirewalls { * * @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>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all Azure Firewalls in a resource group. + * Updates the specified application gateway tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} applicationGatewayName The name of the application gateway. + * + * @param {object} parameters Parameters supplied to update application gateway + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -276,7 +518,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {AzureFirewallListResult} - The deserialized result object. + * @resolve {ApplicationGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -284,21 +526,22 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. - * See {@link AzureFirewallListResult} for more - * information. + * {ApplicationGateway} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGateway} 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; + updateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the Azure Firewalls in a subscription. + * Lists all application gateways in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -307,14 +550,16 @@ export interface AzureFirewalls { * * @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>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the Azure Firewalls in a subscription. + * Lists all application gateways in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -328,7 +573,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {AzureFirewallListResult} - The deserialized result object. + * @resolve {ApplicationGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -336,25 +581,21 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. - * See {@link AzureFirewallListResult} for more + * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewayListResult} 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; + 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 Azure Firewall. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} azureFirewallName The name of the Azure Firewall. + * Gets all the application gateways in a subscription. * * @param {object} [options] Optional Parameters. * @@ -363,18 +604,14 @@ export interface AzureFirewalls { * * @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, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified Azure Firewall. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} azureFirewallName The name of the Azure Firewall. + * Gets all the application gateways in a subscription. * * @param {object} [options] Optional Parameters. * @@ -388,7 +625,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ApplicationGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -396,45 +633,25 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewayListResult} 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, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, azureFirewallName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, azureFirewallName: 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 the specified Azure Firewall. + * Starts the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. - * - * @param {object} parameters Parameters supplied to the create or update Azure - * Firewall operation. - * - * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. - * - * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. - * - * @param {array} [parameters.ipConfigurations] IP configuration of the Azure - * Firewall resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -443,40 +660,18 @@ export interface AzureFirewalls { * * @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, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + startWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates the specified Azure Firewall. + * Starts the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} azureFirewallName The name of the Azure Firewall. - * - * @param {object} parameters Parameters supplied to the create or update Azure - * Firewall operation. - * - * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. - * - * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. - * - * @param {array} [parameters.ipConfigurations] IP configuration of the Azure - * Firewall resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -490,7 +685,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {AzureFirewall} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -498,23 +693,23 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureFirewall} [result] - The deserialized result object if an error did not occur. - * See {@link AzureFirewall} 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, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + start(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + start(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + start(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all Azure Firewalls in a resource group. + * Stops the specified application gateway in a 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} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -523,17 +718,18 @@ export interface AzureFirewalls { * * @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>; + stopWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all Azure Firewalls in a resource group. + * Stops the specified application gateway in a 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} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -547,7 +743,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {AzureFirewallListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -555,46 +751,54 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. - * See {@link AzureFirewallListResult} 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; + stop(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + stop(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + stop(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the Azure Firewalls in a subscription. + * Gets the backend health of the specified application gateway in a 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} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands BackendAddressPool and + * BackendHttpSettings referenced in backend health. + * * @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. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + backendHealthWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the Azure Firewalls in a subscription. + * Gets the backend health of the specified application gateway in a 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} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands BackendAddressPool and + * BackendHttpSettings referenced in backend health. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -605,7 +809,7 @@ export interface AzureFirewalls { * * {Promise} A promise is returned. * - * @resolve {AzureFirewallListResult} - The deserialized result object. + * @resolve {ApplicationGatewayBackendHealth} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -613,34 +817,74 @@ export interface AzureFirewalls { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. - * See {@link AzureFirewallListResult} for more + * {ApplicationGatewayBackendHealth} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewayBackendHealth} 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; -} + backendHealth(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + backendHealth(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + backendHealth(resourceGroupName: string, applicationGatewayName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -/** - * @class - * ApplicationGateways - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface ApplicationGateways { + /** + * Lists all available web application firewall rule sets. + * + * @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. + */ + listAvailableWafRuleSetsWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified application gateway. + * Lists all available web application firewall rule sets. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [options] Optional Parameters. * - * @param {string} applicationGatewayName The name of the application gateway. + * @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 {ApplicationGatewayAvailableWafRuleSetsResult} - 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. + * + * {ApplicationGatewayAvailableWafRuleSetsResult} [result] - The deserialized result object if an error did not occur. + * See {@link + * ApplicationGatewayAvailableWafRuleSetsResult} 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. + */ + listAvailableWafRuleSets(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableWafRuleSets(callback: ServiceCallback): void; + listAvailableWafRuleSets(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Lists available Ssl options for configuring Ssl policy. * * @param {object} [options] Optional Parameters. * @@ -649,18 +893,66 @@ export interface ApplicationGateways { * * @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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAvailableSslOptionsWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified application gateway. + * Lists available Ssl options for configuring Ssl policy. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [options] Optional Parameters. * - * @param {string} applicationGatewayName The name of the application gateway. + * @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 {ApplicationGatewayAvailableSslOptions} - 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. + * + * {ApplicationGatewayAvailableSslOptions} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewayAvailableSslOptions} 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. + */ + listAvailableSslOptions(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableSslOptions(callback: ServiceCallback): void; + listAvailableSslOptions(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Lists all SSL predefined policies for configuring Ssl policy. + * + * @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. + */ + listAvailableSslPredefinedPoliciesWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists all SSL predefined policies for configuring Ssl policy. * * @param {object} [options] Optional Parameters. * @@ -674,7 +966,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ApplicationGatewayAvailableSslPredefinedPolicies} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -682,19 +974,78 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ApplicationGatewayAvailableSslPredefinedPolicies} [result] - The deserialized result object if an error did not occur. + * See {@link + * ApplicationGatewayAvailableSslPredefinedPolicies} 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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAvailableSslPredefinedPolicies(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableSslPredefinedPolicies(callback: ServiceCallback): void; + listAvailableSslPredefinedPolicies(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified application gateway. + * Gets Ssl predefined policy with the specified policy name. + * + * @param {string} predefinedPolicyName Name of Ssl predefined policy. + * + * @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. + */ + getSslPredefinedPolicyWithHttpOperationResponse(predefinedPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets Ssl predefined policy with the specified policy name. + * + * @param {string} predefinedPolicyName Name of Ssl predefined policy. + * + * @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 {ApplicationGatewaySslPredefinedPolicy} - 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. + * + * {ApplicationGatewaySslPredefinedPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewaySslPredefinedPolicy} 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. + */ + getSslPredefinedPolicy(predefinedPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getSslPredefinedPolicy(predefinedPolicyName: string, callback: ServiceCallback): void; + getSslPredefinedPolicy(predefinedPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * @@ -707,14 +1058,14 @@ export interface ApplicationGateways { * * @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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified application gateway. + * Deletes the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * @@ -732,7 +1083,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGateway} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -740,16 +1091,15 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGateway} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGateway} 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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** @@ -800,9 +1150,6 @@ export interface ApplicationGateways { * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * @@ -909,7 +1256,7 @@ export interface ApplicationGateways { * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Creates or updates the specified application gateway. @@ -959,9 +1306,6 @@ export interface ApplicationGateways { * @param {array} [parameters.authenticationCertificates] Authentication * certificates of the application gateway resource. * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * * @param {array} [parameters.sslCertificates] SSL certificates of the * application gateway resource. * @@ -1084,9 +1428,9 @@ export interface ApplicationGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** @@ -1112,7 +1456,7 @@ export interface ApplicationGateways { * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Updates the specified application gateway tags. @@ -1153,16 +1497,18 @@ export interface ApplicationGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all application gateways in a resource group. + * Starts the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} applicationGatewayName The name of the application gateway. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1170,17 +1516,19 @@ export interface ApplicationGateways { * * @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>; + beginStartWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all application gateways in a resource group. + * Starts the specified application gateway. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} applicationGatewayName The name of the application gateway. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1193,7 +1541,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1201,21 +1549,23 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewayListResult} 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. */ - 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; + beginStart(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginStart(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + beginStart(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the application gateways in a subscription. + * Stops the specified application gateway in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -1224,14 +1574,18 @@ export interface ApplicationGateways { * * @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>; + beginStopWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the application gateways in a subscription. + * Stops the specified application gateway in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationGatewayName The name of the application gateway. * * @param {object} [options] Optional Parameters. * @@ -1245,7 +1599,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1253,21 +1607,20 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewayListResult} 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. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginStop(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginStop(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + beginStop(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Starts the specified application gateway. + * Gets the backend health of the specified application gateway in a resource + * group. * * @param {string} resourceGroupName The name of the resource group. * @@ -1275,19 +1628,23 @@ export interface ApplicationGateways { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands BackendAddressPool and + * BackendHttpSettings referenced in backend health. + * * @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. */ - startWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginBackendHealthWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Starts the specified application gateway. + * Gets the backend health of the specified application gateway in a resource + * group. * * @param {string} resourceGroupName The name of the resource group. * @@ -1295,6 +1652,9 @@ export interface ApplicationGateways { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands BackendAddressPool and + * BackendHttpSettings referenced in backend health. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -1305,7 +1665,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ApplicationGatewayBackendHealth} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1313,23 +1673,24 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ApplicationGatewayBackendHealth} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewayBackendHealth} 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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - start(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - start(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginBackendHealth(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + beginBackendHealth(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; + beginBackendHealth(resourceGroupName: string, applicationGatewayName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Stops the specified application gateway in a resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Lists all application gateways in a resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -1338,18 +1699,17 @@ export interface ApplicationGateways { * * @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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops the specified application gateway in a resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Lists all application gateways in a resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -1363,7 +1723,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ApplicationGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1371,54 +1731,46 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewayListResult} 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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - stop(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - stop(resourceGroupName: string, applicationGatewayName: 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 the backend health of the specified application gateway in a resource - * group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the application gateways in a subscription. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands BackendAddressPool and - * BackendHttpSettings referenced in backend health. - * * @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. */ - backendHealthWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the backend health of the specified application gateway in a resource - * group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the application gateways in a subscription. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands BackendAddressPool and - * BackendHttpSettings referenced in backend health. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -1429,7 +1781,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayBackendHealth} - The deserialized result object. + * @resolve {ApplicationGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1437,21 +1789,24 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayBackendHealth} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewayBackendHealth} for more + * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationGatewayListResult} 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. */ - backendHealth(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - backendHealth(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - backendHealth(resourceGroupName: string, applicationGatewayName: string, options: { expand? : string, 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; /** - * Lists all available web application firewall rule sets. + * Lists all SSL predefined policies for configuring Ssl policy. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -1460,14 +1815,17 @@ export interface ApplicationGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAvailableWafRuleSetsWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAvailableSslPredefinedPoliciesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all available web application firewall rule sets. + * Lists all SSL predefined policies for configuring Ssl policy. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -1481,7 +1839,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayAvailableWafRuleSetsResult} - The deserialized result object. + * @resolve {ApplicationGatewayAvailableSslPredefinedPolicies} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1489,22 +1847,36 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayAvailableWafRuleSetsResult} [result] - The deserialized result object if an error did not occur. + * {ApplicationGatewayAvailableSslPredefinedPolicies} [result] - The deserialized result object if an error did not occur. * See {@link - * ApplicationGatewayAvailableWafRuleSetsResult} for more - * information. + * ApplicationGatewayAvailableSslPredefinedPolicies} 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. */ - listAvailableWafRuleSets(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAvailableWafRuleSets(callback: ServiceCallback): void; - listAvailableWafRuleSets(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAvailableSslPredefinedPoliciesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableSslPredefinedPoliciesNext(nextPageLink: string, callback: ServiceCallback): void; + listAvailableSslPredefinedPoliciesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * ApplicationSecurityGroups + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface ApplicationSecurityGroups { /** - * Lists available Ssl options for configuring Ssl policy. + * Deletes the specified application security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. * * @param {object} [options] Optional Parameters. * @@ -1513,14 +1885,19 @@ export interface ApplicationGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAvailableSslOptionsWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists available Ssl options for configuring Ssl policy. + * Deletes the specified application security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. * * @param {object} [options] Optional Parameters. * @@ -1534,7 +1911,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayAvailableSslOptions} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1542,21 +1919,24 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayAvailableSslOptions} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewayAvailableSslOptions} 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. */ - listAvailableSslOptions(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAvailableSslOptions(callback: ServiceCallback): void; - listAvailableSslOptions(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all SSL predefined policies for configuring Ssl policy. + * Gets information about the specified application security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. * * @param {object} [options] Optional Parameters. * @@ -1565,14 +1945,19 @@ export interface ApplicationGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAvailableSslPredefinedPoliciesWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all SSL predefined policies for configuring Ssl policy. + * Gets information about the specified application security group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. * * @param {object} [options] Optional Parameters. * @@ -1586,7 +1971,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayAvailableSslPredefinedPolicies} - The deserialized result object. + * @resolve {ApplicationSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1594,24 +1979,35 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayAvailableSslPredefinedPolicies} [result] - The deserialized result object if an error did not occur. - * See {@link - * ApplicationGatewayAvailableSslPredefinedPolicies} for - * more information. + * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroup} 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. */ - listAvailableSslPredefinedPolicies(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAvailableSslPredefinedPolicies(callback: ServiceCallback): void; - listAvailableSslPredefinedPolicies(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, applicationSecurityGroupName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, applicationSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets Ssl predefined policy with the specified policy name. + * Creates or updates an application security group. * - * @param {string} predefinedPolicyName Name of Ssl predefined policy. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to the create or update + * ApplicationSecurityGroup operation. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -1620,16 +2016,28 @@ export interface ApplicationGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getSslPredefinedPolicyWithHttpOperationResponse(predefinedPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets Ssl predefined policy with the specified policy name. + * Creates or updates an application security group. * - * @param {string} predefinedPolicyName Name of Ssl predefined policy. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to the create or update + * ApplicationSecurityGroup operation. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -1643,7 +2051,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewaySslPredefinedPolicy} - The deserialized result object. + * @resolve {ApplicationSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1651,25 +2059,21 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewaySslPredefinedPolicy} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewaySslPredefinedPolicy} for - * more information. + * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroup} 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. */ - getSslPredefinedPolicy(predefinedPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getSslPredefinedPolicy(predefinedPolicyName: string, callback: ServiceCallback): void; - getSslPredefinedPolicy(predefinedPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified application gateway. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationGatewayName The name of the application gateway. + * Gets all application security groups in a subscription. * * @param {object} [options] Optional Parameters. * @@ -1678,18 +2082,14 @@ export interface ApplicationGateways { * * @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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified application gateway. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationGatewayName The name of the application gateway. + * Gets all application security groups in a subscription. * * @param {object} [options] Optional Parameters. * @@ -1703,7 +2103,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -1711,156 +2111,145 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroupListResult} 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, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, applicationGatewayName: 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 the specified application gateway. + * Gets all the application security groups in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {object} [options] Optional Parameters. * - * @param {object} parameters Parameters supplied to the create or update - * application gateway operation. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.sku] SKU of the application gateway resource. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.sku.name] Name of an application gateway SKU. - * Possible values include: 'Standard_Small', 'Standard_Medium', - * 'Standard_Large', 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.sku.tier] Tier of an application gateway. - * Possible values include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the application security groups in a resource group. * - * @param {number} [parameters.sku.capacity] Capacity (instance count) of an - * application gateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.sslPolicy] SSL policy of the application gateway - * resource. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.sslPolicy.disabledSslProtocols] Ssl protocols to - * be disabled on application gateway. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.sslPolicy.policyType] Type of Ssl Policy. - * Possible values include: 'Predefined', 'Custom' + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.sslPolicy.policyName] Name of Ssl predefined - * policy. Possible values include: 'AppGwSslPolicy20150501', - * 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} [parameters.sslPolicy.cipherSuites] Ssl cipher suites to be - * enabled in the specified order to application gateway. + * {Promise} A promise is returned. * - * @param {string} [parameters.sslPolicy.minProtocolVersion] Minimum version of - * Ssl protocol to be supported on application gateway. Possible values - * include: 'TLSv1_0', 'TLSv1_1', 'TLSv1_2' + * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. * - * @param {array} [parameters.gatewayIPConfigurations] Subnets of application - * the gateway resource. + * @reject {Error|ServiceError} - The error object. * - * @param {array} [parameters.authenticationCertificates] Authentication - * certificates of the application gateway resource. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} [parameters.sslCertificates] SSL certificates of the - * application gateway resource. + * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroupListResult} for more + * information. * - * @param {array} [parameters.frontendIPConfigurations] Frontend IP addresses - * of the application gateway resource. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {array} [parameters.frontendPorts] Frontend ports of the application - * gateway resource. + * {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 application security group. * - * @param {array} [parameters.probes] Probes of the application gateway - * resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [parameters.backendAddressPools] Backend address pool of the - * application gateway resource. + * @param {string} applicationSecurityGroupName The name of the application + * security group. * - * @param {array} [parameters.backendHttpSettingsCollection] Backend http - * settings of the application gateway resource. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.httpListeners] Http listeners of the application - * gateway resource. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [parameters.urlPathMaps] URL path map of the application - * gateway resource. + * @returns {Promise} A promise is returned * - * @param {array} [parameters.requestRoutingRules] Request routing rules of the - * application gateway resource. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} [parameters.redirectConfigurations] Redirect configurations - * of the application gateway resource. + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified application security group. * - * @param {object} [parameters.webApplicationFirewallConfiguration] Web - * application firewall configuration. + * @param {string} resourceGroupName The name of the resource group. * - * @param {boolean} parameters.webApplicationFirewallConfiguration.enabled - * Whether the web application firewall is enabled or not. + * @param {string} applicationSecurityGroupName The name of the application + * security group. * - * @param {string} parameters.webApplicationFirewallConfiguration.firewallMode - * Web application firewall mode. Possible values include: 'Detection', - * 'Prevention' + * @param {object} [options] Optional Parameters. * - * @param {string} parameters.webApplicationFirewallConfiguration.ruleSetType - * The type of the web application firewall rule set. Possible values are: - * 'OWASP'. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} - * parameters.webApplicationFirewallConfiguration.ruleSetVersion The version of - * the rule set type. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {array} - * [parameters.webApplicationFirewallConfiguration.disabledRuleGroups] The - * disabled rule groups. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {boolean} - * [parameters.webApplicationFirewallConfiguration.requestBodyCheck] Whether - * allow WAF to check request Body. + * {Promise} A promise is returned. * - * @param {number} - * [parameters.webApplicationFirewallConfiguration.maxRequestBodySize] Maxium - * request body size for WAF. + * @resolve {null} - The deserialized result object. * - * @param {boolean} [parameters.enableHttp2] Whether HTTP2 is enabled on the - * application gateway resource. + * @reject {Error|ServiceError} - The error object. * - * @param {boolean} [parameters.enableFips] Whether FIPS is enabled on the - * application gateway resource. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [parameters.autoscaleConfiguration] Autoscale Configuration. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {object} parameters.autoscaleConfiguration.bounds Autoscale bounds + * {null} [result] - The deserialized result object if an error did not occur. * - * @param {number} parameters.autoscaleConfiguration.bounds.min Lower bound on - * number of Application Gateway instances. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {number} parameters.autoscaleConfiguration.bounds.max Upper bound on - * number of Application Gateway instances. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginDeleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates an application security group. * - * @param {string} [parameters.resourceGuid] Resource GUID property of the - * application gateway resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.provisioningState] Provisioning state of the - * application gateway resource. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. + * @param {string} applicationSecurityGroupName The name of the application + * security group. * - * @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 - * where the resource needs to come from. + * @param {object} parameters Parameters supplied to the create or update + * ApplicationSecurityGroup operation. * * @param {string} [parameters.id] Resource ID. * @@ -1875,151 +2264,22 @@ export interface ApplicationGateways { * * @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, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates the specified application gateway. + * Creates or updates an application security group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} applicationSecurityGroupName The name of the application + * security group. * * @param {object} parameters Parameters supplied to the create or update - * application gateway operation. - * - * @param {object} [parameters.sku] SKU of the application gateway resource. - * - * @param {string} [parameters.sku.name] Name of an application gateway SKU. - * Possible values include: 'Standard_Small', 'Standard_Medium', - * 'Standard_Large', 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' - * - * @param {string} [parameters.sku.tier] Tier of an application gateway. - * Possible values include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - * - * @param {number} [parameters.sku.capacity] Capacity (instance count) of an - * application gateway. - * - * @param {object} [parameters.sslPolicy] SSL policy of the application gateway - * resource. - * - * @param {array} [parameters.sslPolicy.disabledSslProtocols] Ssl protocols to - * be disabled on application gateway. - * - * @param {string} [parameters.sslPolicy.policyType] Type of Ssl Policy. - * Possible values include: 'Predefined', 'Custom' - * - * @param {string} [parameters.sslPolicy.policyName] Name of Ssl predefined - * policy. Possible values include: 'AppGwSslPolicy20150501', - * 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' - * - * @param {array} [parameters.sslPolicy.cipherSuites] Ssl cipher suites to be - * enabled in the specified order to application gateway. - * - * @param {string} [parameters.sslPolicy.minProtocolVersion] Minimum version of - * Ssl protocol to be supported on application gateway. Possible values - * include: 'TLSv1_0', 'TLSv1_1', 'TLSv1_2' - * - * @param {array} [parameters.gatewayIPConfigurations] Subnets of application - * the gateway resource. - * - * @param {array} [parameters.authenticationCertificates] Authentication - * certificates of the application gateway resource. - * - * @param {array} [parameters.trustedRootCertificates] Trusted Root - * certificates of the application gateway resource. - * - * @param {array} [parameters.sslCertificates] SSL certificates of the - * application gateway resource. - * - * @param {array} [parameters.frontendIPConfigurations] Frontend IP addresses - * of the application gateway resource. - * - * @param {array} [parameters.frontendPorts] Frontend ports of the application - * gateway resource. - * - * @param {array} [parameters.probes] Probes of the application gateway - * resource. - * - * @param {array} [parameters.backendAddressPools] Backend address pool of the - * application gateway resource. - * - * @param {array} [parameters.backendHttpSettingsCollection] Backend http - * settings of the application gateway resource. - * - * @param {array} [parameters.httpListeners] Http listeners of the application - * gateway resource. - * - * @param {array} [parameters.urlPathMaps] URL path map of the application - * gateway resource. - * - * @param {array} [parameters.requestRoutingRules] Request routing rules of the - * application gateway resource. - * - * @param {array} [parameters.redirectConfigurations] Redirect configurations - * of the application gateway resource. - * - * @param {object} [parameters.webApplicationFirewallConfiguration] Web - * application firewall configuration. - * - * @param {boolean} parameters.webApplicationFirewallConfiguration.enabled - * Whether the web application firewall is enabled or not. - * - * @param {string} parameters.webApplicationFirewallConfiguration.firewallMode - * Web application firewall mode. Possible values include: 'Detection', - * 'Prevention' - * - * @param {string} parameters.webApplicationFirewallConfiguration.ruleSetType - * The type of the web application firewall rule set. Possible values are: - * 'OWASP'. - * - * @param {string} - * parameters.webApplicationFirewallConfiguration.ruleSetVersion The version of - * the rule set type. - * - * @param {array} - * [parameters.webApplicationFirewallConfiguration.disabledRuleGroups] The - * disabled rule groups. - * - * @param {boolean} - * [parameters.webApplicationFirewallConfiguration.requestBodyCheck] Whether - * allow WAF to check request Body. - * - * @param {number} - * [parameters.webApplicationFirewallConfiguration.maxRequestBodySize] Maxium - * request body size for WAF. - * - * @param {boolean} [parameters.enableHttp2] Whether HTTP2 is enabled on the - * application gateway resource. - * - * @param {boolean} [parameters.enableFips] Whether FIPS is enabled on the - * application gateway resource. - * - * @param {object} [parameters.autoscaleConfiguration] Autoscale Configuration. - * - * @param {object} parameters.autoscaleConfiguration.bounds Autoscale bounds - * - * @param {number} parameters.autoscaleConfiguration.bounds.min Lower bound on - * number of Application Gateway instances. - * - * @param {number} parameters.autoscaleConfiguration.bounds.max Upper bound on - * number of Application Gateway instances. - * - * @param {string} [parameters.resourceGuid] Resource GUID property of the - * application gateway resource. - * - * @param {string} [parameters.provisioningState] Provisioning state of the - * application gateway 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 - * where the resource needs to come from. + * ApplicationSecurityGroup operation. * * @param {string} [parameters.id] Resource ID. * @@ -2039,7 +2299,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGateway} - The deserialized result object. + * @resolve {ApplicationSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2047,29 +2307,24 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGateway} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGateway} for more information. + * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroup} 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, applicationGatewayName: string, parameters: models.ApplicationGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, applicationGatewayName: string, parameters: models.ApplicationGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates the specified application gateway tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationGatewayName The name of the application gateway. - * - * @param {object} parameters Parameters supplied to update application gateway - * tags. + * Gets all application security groups in a subscription. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2078,23 +2333,17 @@ export interface ApplicationGateways { * * @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, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates the specified application gateway tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationGatewayName The name of the application gateway. - * - * @param {object} parameters Parameters supplied to update application gateway - * tags. + * Gets all application security groups in a subscription. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2108,7 +2357,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGateway} - The deserialized result object. + * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2116,24 +2365,24 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGateway} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGateway} for more information. + * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroupListResult} 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, applicationGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, applicationGatewayName: string, parameters: models.TagsObject, 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; /** - * Starts the specified application gateway. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the application security groups in a resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2142,18 +2391,17 @@ export interface ApplicationGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginStartWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Starts the specified application gateway. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the application security groups in a resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2167,7 +2415,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2175,23 +2423,34 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroupListResult} 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. */ - beginStart(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginStart(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - beginStart(resourceGroupName: string, applicationGatewayName: 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 + * AzureFirewalls + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface AzureFirewalls { /** - * Stops the specified application gateway in a resource group. + * Deletes the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} azureFirewallName The name of the Azure Firewall. * * @param {object} [options] Optional Parameters. * @@ -2204,14 +2463,14 @@ export interface ApplicationGateways { * * @reject {Error|ServiceError} - The error object. */ - beginStopWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops the specified application gateway in a resource group. + * Deletes the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} azureFirewallName The name of the Azure Firewall. * * @param {object} [options] Optional Parameters. * @@ -2239,48 +2498,40 @@ export interface ApplicationGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginStop(resourceGroupName: string, applicationGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginStop(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - beginStop(resourceGroupName: string, applicationGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, azureFirewallName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, azureFirewallName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the backend health of the specified application gateway in a resource - * group. + * Gets the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} azureFirewallName The name of the Azure Firewall. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands BackendAddressPool and - * BackendHttpSettings referenced in backend health. - * * @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. */ - beginBackendHealthWithHttpOperationResponse(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the backend health of the specified application gateway in a resource - * group. + * Gets the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationGatewayName The name of the application gateway. + * @param {string} azureFirewallName The name of the Azure Firewall. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands BackendAddressPool and - * BackendHttpSettings referenced in backend health. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -2291,7 +2542,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayBackendHealth} - The deserialized result object. + * @resolve {AzureFirewall} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2299,24 +2550,46 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayBackendHealth} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewayBackendHealth} for more - * information. + * {AzureFirewall} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewall} 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. */ - beginBackendHealth(resourceGroupName: string, applicationGatewayName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - beginBackendHealth(resourceGroupName: string, applicationGatewayName: string, callback: ServiceCallback): void; - beginBackendHealth(resourceGroupName: string, applicationGatewayName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, azureFirewallName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, azureFirewallName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all application gateways in a resource group. + * Creates or updates the specified Azure Firewall. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} azureFirewallName The name of the Azure Firewall. + * + * @param {object} parameters Parameters supplied to the create or update Azure + * Firewall operation. + * + * @param {array} [parameters.applicationRuleCollections] Collection of + * application rule collections used by a Azure Firewall. + * + * @param {array} [parameters.networkRuleCollections] Collection of network + * rule collections used by a Azure Firewall. + * + * @param {array} [parameters.ipConfigurations] IP configuration of the Azure + * Firewall resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -2325,17 +2598,40 @@ export interface ApplicationGateways { * * @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, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all application gateways in a resource group. + * Creates or updates the specified Azure Firewall. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} azureFirewallName The name of the Azure Firewall. + * + * @param {object} parameters Parameters supplied to the create or update Azure + * Firewall operation. + * + * @param {array} [parameters.applicationRuleCollections] Collection of + * application rule collections used by a Azure Firewall. + * + * @param {array} [parameters.networkRuleCollections] Collection of network + * rule collections used by a Azure Firewall. + * + * @param {array} [parameters.ipConfigurations] IP configuration of the Azure + * Firewall resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -2349,7 +2645,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayListResult} - The deserialized result object. + * @resolve {AzureFirewall} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2357,24 +2653,22 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewayListResult} for more - * information. + * {AzureFirewall} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewall} 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; + createOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the application gateways in a subscription. + * Lists all Azure Firewalls in a 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 {object} [options] Optional Parameters. * @@ -2383,17 +2677,16 @@ export interface ApplicationGateways { * * @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, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the application gateways in a subscription. + * Lists all Azure Firewalls in a 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 {object} [options] Optional Parameters. * @@ -2407,7 +2700,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayListResult} - The deserialized result object. + * @resolve {AzureFirewallListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2415,24 +2708,21 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationGatewayListResult} for more + * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewallListResult} 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, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all SSL predefined policies for configuring Ssl policy. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the Azure Firewalls in a subscription. * * @param {object} [options] Optional Parameters. * @@ -2441,17 +2731,14 @@ export interface ApplicationGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAvailableSslPredefinedPoliciesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all SSL predefined policies for configuring Ssl policy. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the Azure Firewalls in a subscription. * * @param {object} [options] Optional Parameters. * @@ -2465,7 +2752,7 @@ export interface ApplicationGateways { * * {Promise} A promise is returned. * - * @resolve {ApplicationGatewayAvailableSslPredefinedPolicies} - The deserialized result object. + * @resolve {AzureFirewallListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2473,36 +2760,25 @@ export interface ApplicationGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationGatewayAvailableSslPredefinedPolicies} [result] - The deserialized result object if an error did not occur. - * See {@link - * ApplicationGatewayAvailableSslPredefinedPolicies} for - * more information. + * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewallListResult} 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. */ - listAvailableSslPredefinedPoliciesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAvailableSslPredefinedPoliciesNext(nextPageLink: string, callback: ServiceCallback): void; - listAvailableSslPredefinedPoliciesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * ApplicationSecurityGroups - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface ApplicationSecurityGroups { + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified application security group. + * Deletes the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationSecurityGroupName The name of the application - * security group. + * @param {string} azureFirewallName The name of the Azure Firewall. * * @param {object} [options] Optional Parameters. * @@ -2515,15 +2791,14 @@ export interface ApplicationSecurityGroups { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified application security group. + * Deletes the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationSecurityGroupName The name of the application - * security group. + * @param {string} azureFirewallName The name of the Azure Firewall. * * @param {object} [options] Optional Parameters. * @@ -2551,18 +2826,39 @@ export interface ApplicationSecurityGroups { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, azureFirewallName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, azureFirewallName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, azureFirewallName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about the specified application security group. + * Creates or updates the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationSecurityGroupName The name of the application - * security group. + * @param {string} azureFirewallName The name of the Azure Firewall. + * + * @param {object} parameters Parameters supplied to the create or update Azure + * Firewall operation. + * + * @param {array} [parameters.applicationRuleCollections] Collection of + * application rule collections used by a Azure Firewall. + * + * @param {array} [parameters.networkRuleCollections] Collection of network + * rule collections used by a Azure Firewall. + * + * @param {array} [parameters.ipConfigurations] IP configuration of the Azure + * Firewall resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -2571,19 +2867,40 @@ export interface ApplicationSecurityGroups { * * @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, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about the specified application security group. + * Creates or updates the specified Azure Firewall. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} applicationSecurityGroupName The name of the application - * security group. + * @param {string} azureFirewallName The name of the Azure Firewall. + * + * @param {object} parameters Parameters supplied to the create or update Azure + * Firewall operation. + * + * @param {array} [parameters.applicationRuleCollections] Collection of + * application rule collections used by a Azure Firewall. + * + * @param {array} [parameters.networkRuleCollections] Collection of network + * rule collections used by a Azure Firewall. + * + * @param {array} [parameters.ipConfigurations] IP configuration of the Azure + * Firewall resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -2597,7 +2914,7 @@ export interface ApplicationSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {ApplicationSecurityGroup} - The deserialized result object. + * @resolve {AzureFirewall} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2605,35 +2922,23 @@ export interface ApplicationSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationSecurityGroup} for more - * information. + * {AzureFirewall} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewall} 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, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, applicationSecurityGroupName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, applicationSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, azureFirewallName: string, parameters: models.AzureFirewall, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates an application security group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationSecurityGroupName The name of the application - * security group. - * - * @param {object} parameters Parameters supplied to the create or update - * ApplicationSecurityGroup operation. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * Lists all Azure Firewalls in a resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2642,80 +2947,17 @@ export interface ApplicationSecurityGroups { * * @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, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates an application security group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationSecurityGroupName The name of the application - * security group. - * - * @param {object} parameters Parameters supplied to the create or update - * ApplicationSecurityGroup operation. - * - * @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 {ApplicationSecurityGroup} - 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. - * - * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationSecurityGroup} 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, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all application 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. + * Lists all Azure Firewalls in a resource group. * - * @reject {Error|ServiceError} - The error object. - */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all application security groups in a subscription. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2729,7 +2971,7 @@ export interface ApplicationSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. + * @resolve {AzureFirewallListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2737,23 +2979,24 @@ export interface ApplicationSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationSecurityGroupListResult} for more + * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewallListResult} 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; + 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 the application security groups in a resource group. + * Gets all the Azure Firewalls in a subscription. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2762,16 +3005,17 @@ export interface ApplicationSecurityGroups { * * @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>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the application security groups in a resource group. + * Gets all the Azure Firewalls in a subscription. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -2785,7 +3029,7 @@ export interface ApplicationSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. + * @resolve {AzureFirewallListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2793,164 +3037,30 @@ export interface ApplicationSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationSecurityGroupListResult} for more + * {AzureFirewallListResult} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewallListResult} 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 application security group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationSecurityGroupName The name of the application - * 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, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified application security group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationSecurityGroupName The name of the application - * 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, applicationSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, applicationSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Creates or updates an application security group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationSecurityGroupName The name of the application - * security group. - * - * @param {object} parameters Parameters supplied to the create or update - * ApplicationSecurityGroup operation. - * - * @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, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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; +} - /** - * Creates or updates an application security group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} applicationSecurityGroupName The name of the application - * security group. - * - * @param {object} parameters Parameters supplied to the create or update - * ApplicationSecurityGroup operation. - * - * @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 {ApplicationSecurityGroup} - 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. - * - * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationSecurityGroup} 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, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +/** + * @class + * AzureFirewallFqdnTags + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface AzureFirewallFqdnTags { /** - * Gets all application security groups in a subscription. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the Azure Firewall FQDN Tags in a subscription. * * @param {object} [options] Optional Parameters. * @@ -2959,17 +3069,14 @@ export interface ApplicationSecurityGroups { * * @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>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all application security groups in a subscription. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the Azure Firewall FQDN Tags in a subscription. * * @param {object} [options] Optional Parameters. * @@ -2983,7 +3090,7 @@ export interface ApplicationSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. + * @resolve {AzureFirewallFqdnTagListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -2991,21 +3098,21 @@ export interface ApplicationSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationSecurityGroupListResult} for more + * {AzureFirewallFqdnTagListResult} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewallFqdnTagListResult} 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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the application security groups in a resource group. + * Gets all the Azure Firewall FQDN Tags in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -3017,14 +3124,14 @@ export interface ApplicationSecurityGroups { * * @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>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the application security groups in a resource group. + * Gets all the Azure Firewall FQDN Tags in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -3041,7 +3148,7 @@ export interface ApplicationSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {ApplicationSecurityGroupListResult} - The deserialized result object. + * @resolve {AzureFirewallFqdnTagListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -3049,17 +3156,17 @@ export interface ApplicationSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ApplicationSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link ApplicationSecurityGroupListResult} for more + * {AzureFirewallFqdnTagListResult} [result] - The deserialized result object if an error did not occur. + * See {@link AzureFirewallFqdnTagListResult} 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; + 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; } /** @@ -13790,20 +13897,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. * @@ -13816,15 +13924,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. * @@ -13852,45 +13961,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 @@ -13902,7 +14009,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. * @@ -13910,141 +14017,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 {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. * @@ -14053,75 +14405,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. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network security group tags. + * 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 update network security - * group tags. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * @param {object} [options] Optional Parameters. + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * @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.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * {Promise} A promise is returned. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @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' * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * @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' * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. * - * {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 {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @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. * - * @reject {Error|ServiceError} - The error object. - */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network security groups in a subscription. + * @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. * @@ -14135,7 +14791,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14143,24 +14799,26 @@ 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 + * {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. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(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 resource group. + * 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 @@ -14168,17 +14826,19 @@ 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>; + listWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups in a resource group. + * 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 @@ -14191,7 +14851,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. * @@ -14199,26 +14859,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. */ - 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(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; /** - * 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. * @@ -14231,15 +14892,16 @@ export interface NetworkSecurityGroups { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(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. * @@ -14267,134 +14929,378 @@ export interface NetworkSecurityGroups { * * {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; + 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; /** - * 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. - */ - 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 {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. - */ - 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 {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 {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. * @@ -14403,81 +15309,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. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network security group tags. + * 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 update network security - * group tags. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * @param {object} [options] Optional Parameters. + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * @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.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * {Promise} A promise is returned. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @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' * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * @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' * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. * - * {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 {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @returns {Promise} A promise is returned + * @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. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @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} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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. * @@ -14491,7 +15695,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14499,21 +15703,21 @@ 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 + * {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. */ - 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; + 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; /** - * Gets all network security groups in a resource group. + * Get all Tap configurations in a network interface * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -14525,14 +15729,14 @@ 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>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups in a resource group. + * Get all Tap configurations in a network interface * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -14549,7 +15753,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. * @@ -14557,38 +15761,36 @@ 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. */ - 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 - * SecurityRules + * NetworkSecurityGroups * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface SecurityRules { +export interface NetworkSecurityGroups { /** - * Deletes the specified network security rule. + * 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 {string} securityRuleName The name of the security rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -14600,18 +15802,16 @@ export interface SecurityRules { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network security rule. + * 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 {string} securityRuleName The name of the security rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -14638,46 +15838,46 @@ export interface SecurityRules { * * {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; + 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; /** - * Get the specified network security rule. + * 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 {string} securityRuleName The name of the security rule. - * * @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, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified network security rule. + * 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 {string} securityRuleName The name of the security rule. - * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -14688,7 +15888,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14696,101 +15896,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. + * {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, 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; + 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 security rule in the specified network security group. + * 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 {string} securityRuleName The name of the security rule. + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. * - * @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 {array} [parameters.securityRules] A collection of security rules of + * the network security group. * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. * - * @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.resourceGuid] The resource GUID property of the + * network security group resource. * - * @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} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [securityRuleParameters.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} [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.id] Resource ID. * - * @param {string} [securityRuleParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.location] Resource location. * - * @param {string} [securityRuleParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -14799,95 +15948,44 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a security rule in the specified network security group. + * 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 {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 {object} parameters Parameters supplied to the create or update + * network security group operation. * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. * - * @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.resourceGuid] The resource GUID property of the + * network security group resource. * - * @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} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [securityRuleParameters.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} [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.id] Resource ID. * - * @param {string} [securityRuleParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.location] Resource location. * - * @param {string} [securityRuleParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -14901,7 +15999,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14909,26 +16007,31 @@ 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. + * {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, 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; + 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; /** - * Gets all security rules in a network security group. + * 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 @@ -14936,20 +16039,25 @@ 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>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all security rules in a network security group. + * 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 @@ -14962,7 +16070,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14970,28 +16078,20 @@ 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. + * {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. */ - 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; + 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; /** - * 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. + * Gets all network security groups in a subscription. * * @param {object} [options] Optional Parameters. * @@ -15000,21 +16100,14 @@ 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>; + listAllWithHttpOperationResponse(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. + * Gets all network security groups in a subscription. * * @param {object} [options] Optional Parameters. * @@ -15028,7 +16121,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15036,101 +16129,24 @@ 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. + * {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. */ - 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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a security rule in the specified network security group. + * Gets all network security groups in a resource 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 @@ -15138,96 +16154,17 @@ 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>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a security rule in the specified network security group. + * Gets all network security groups in a resource 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 @@ -15240,7 +16177,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15248,23 +16185,26 @@ 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. + * {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. */ - 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; + 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 security rules in a network security group. + * Deletes the specified network security 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} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -15273,17 +16213,19 @@ 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>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all security rules in a network security group. + * Deletes the specified network security 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} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -15297,7 +16239,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15305,36 +16247,50 @@ 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. + * {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 - * DefaultSecurityRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface DefaultSecurityRules { + 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; /** - * Gets all default security rules in a network security group. + * 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 @@ -15342,33 +16298,58 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all default security rules in a network security group. + * 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} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} [parameters.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} [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 {SecurityRuleListResult} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15376,29 +16357,30 @@ 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. + * {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. */ - 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; + 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; /** - * Get the specified default network security rule. + * 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 {string} defaultSecurityRuleName The name of the default security - * rule. + * @param {object} parameters Parameters supplied to update network security + * group tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -15407,22 +16389,24 @@ 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>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified default network security rule. + * 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 {string} defaultSecurityRuleName The name of the default security - * rule. + * @param {object} parameters Parameters supplied to update network security + * group tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -15436,7 +16420,7 @@ export interface DefaultSecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15444,20 +16428,20 @@ 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. + * {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, 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; + 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 default security rules in a network security group. + * Gets all network security groups in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -15469,14 +16453,14 @@ 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>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all default security rules in a network security group. + * Gets all network security groups in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -15493,7 +16477,7 @@ export interface DefaultSecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15501,46 +16485,24 @@ 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 + * {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 - * NetworkWatchers - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface NetworkWatchers { + 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; /** - * 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. + * Gets all network security groups in a resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -15549,30 +16511,17 @@ 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>; + listNextWithHttpOperationResponse(nextPageLink: string, 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. + * Gets all network security groups in a resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -15586,7 +16535,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcher} - The deserialized result object. + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15594,24 +16543,37 @@ 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. + * {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. */ - 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; + 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 { /** - * Gets the specified network watcher by resource group. + * Deletes the specified network security rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -15620,18 +16582,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. */ - getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified network watcher by resource group. + * Deletes the specified network security rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -15645,7 +16610,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcher} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15653,24 +16618,26 @@ 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. + * {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, 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; + 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; /** - * Deletes the specified network watcher resource. + * Get the specified network security rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -15679,18 +16646,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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network watcher resource. + * Get the specified network security rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. + * + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -15704,7 +16674,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15712,28 +16682,101 @@ 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. + * {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. */ - 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; + 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; /** - * Updates a network watcher tags. + * Creates or updates a security rule in the specified network security group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters supplied to update network watcher - * tags. + * @param {string} securityRuleName The name of the security rule. * - * @param {object} [parameters.tags] Resource tags. + * @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. * @@ -15742,78 +16785,95 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network watcher tags. + * Creates or updates a security rule in the specified network security group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters supplied to update network watcher - * tags. + * @param {string} securityRuleName The name of the security rule. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. * - * @param {object} [options] Optional Parameters. + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values + * include: 'Tcp', 'Udp', '*' * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @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 {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @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. * - * {Promise} A promise is returned. + * @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. * - * @resolve {NetworkWatcher} - The deserialized result object. + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. * - * @reject {Error|ServiceError} - The error object. + * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The + * application security group specified as source. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @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. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} [securityRuleParameters.destinationAddressPrefixes] The + * destination address prefixes. CIDR or destination IP ranges. * - * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcher} for more information. + * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] + * The application security group specified as destination. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {array} [securityRuleParameters.sourcePortRanges] The source port + * ranges. * - * {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 {array} [securityRuleParameters.destinationPortRanges] The + * destination port ranges. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} securityRuleParameters.access The network traffic is allowed + * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: + * 'Allow', 'Deny' * - * @param {object} [options] Optional Parameters. + * @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 {object} [options.customHeaders] Headers that will be added to the - * request + * @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' * - * @returns {Promise} A promise is returned + * @param {string} [securityRuleParameters.provisioningState] The provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @resolve {HttpOperationResponse} - The deserialized result 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. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network watchers by resource group. + * @param {string} [securityRuleParameters.etag] A unique read-only string that + * changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [securityRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -15827,7 +16887,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcherListResult} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15835,21 +16895,25 @@ 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. + * {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. */ - 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; + 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 network watchers by subscription. + * 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. * @@ -15858,14 +16922,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. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network watchers by subscription. + * 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. * @@ -15879,7 +16948,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcherListResult} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15887,39 +16956,28 @@ 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 + * {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. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Gets the current network topology by resource group. + * Deletes the specified network security rule. * * @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} networkSecurityGroupName The name of the network security + * group. * - * @param {string} [parameters.targetSubnet.id] Resource ID. + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -15928,32 +16986,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. */ - getTopologyWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the current network topology by resource group. + * Deletes the specified network security rule. * * @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} networkSecurityGroupName The name of the network security + * group. * - * @param {string} [parameters.targetSubnet.id] Resource ID. + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -15967,7 +17014,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {Topology} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15975,55 +17022,100 @@ 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. + * {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. */ - 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; + 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; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. + * Creates or updates a security rule in the specified network security group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters that define the IP flow to be - * verified. + * @param {string} securityRuleName The name of the security rule. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. 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} [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} 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} [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} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @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} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. * - * @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 {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. * @@ -16032,49 +17124,95 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. + * Creates or updates a security rule in the specified network security group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters that define the IP flow to be - * verified. + * @param {string} securityRuleName The name of the security rule. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. 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} [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} 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} [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} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @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} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. * - * @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 {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. * @@ -16088,7 +17226,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {VerificationIPFlowResult} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16096,39 +17234,23 @@ 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. + * {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. */ - 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; + 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 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. + * Gets all security rules in a network security group. * - * @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 {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -16137,32 +17259,17 @@ 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>; + listNextWithHttpOperationResponse(nextPageLink: string, 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. + * Gets all security rules in a network security group. * - * @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 {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -16176,7 +17283,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NextHopResult} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16184,29 +17291,35 @@ 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. + * {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. */ - 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; + 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 the configured and effective security group rules on the specified VM. + * Gets all default security rules in a network security 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 VM to check security - * groups for. - * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {string} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -16215,23 +17328,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. */ - getVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the configured and effective security group rules on the specified VM. + * Gets all default security rules in a network security 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 VM to check security - * groups for. - * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {string} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -16245,7 +17354,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {SecurityGroupViewResult} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16253,37 +17362,29 @@ 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 + * {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. */ - 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; + 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; /** - * Initiate troubleshooting on a specified resource + * Get the specified default network security rule. * * @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} networkSecurityGroupName The name of the network security + * group. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} defaultSecurityRuleName The name of the default security + * rule. * * @param {object} [options] Optional Parameters. * @@ -16292,30 +17393,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. */ - getTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Initiate troubleshooting on a specified resource + * Get the specified default network security rule. * * @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} networkSecurityGroupName The name of the network security + * group. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} defaultSecurityRuleName The name of the default security + * rule. * * @param {object} [options] Optional Parameters. * @@ -16329,7 +17422,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16337,30 +17430,23 @@ 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. + * {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. */ - 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(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; /** - * 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. + * Gets all default security rules in a network security group. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -16369,24 +17455,17 @@ 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>; + listNextWithHttpOperationResponse(nextPageLink: 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. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the resource to query the - * troubleshooting result. + * Gets all default security rules in a network security group. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -16400,7 +17479,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16408,66 +17487,46 @@ 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. + * {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. */ - 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; + 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 { /** - * 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. + * Creates or updates a network watcher in the specified resource group. * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.flowAnalyticsConfiguration] + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * @param {object} parameters Parameters that define the network watcher + * resource. * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} [parameters.id] Resource ID. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} [parameters.location] Resource location. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16476,60 +17535,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. */ - setFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, 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. + * Creates or updates a network watcher in the specified resource group. * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.flowAnalyticsConfiguration] + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * @param {object} parameters Parameters that define the network watcher + * resource. * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} [parameters.id] Resource ID. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} [parameters.location] Resource location. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16543,7 +17572,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {NetworkWatcher} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16551,32 +17580,24 @@ 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. + * {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. */ - 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; + 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; /** - * Queries status of 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. + * Gets the specified network watcher by resource group. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -16585,26 +17606,18 @@ 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, 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. - * - * @param {string} networkWatcherName The name of the network watcher resource. + * Gets the specified network watcher by resource group. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -16618,7 +17631,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {NetworkWatcher} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16626,66 +17639,24 @@ 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. + * {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. */ - 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, 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; /** - * 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' + * Deletes the specified network watcher resource. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -16694,60 +17665,18 @@ 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. */ - checkConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(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' + * Deletes the specified network watcher resource. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -16761,7 +17690,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. * @@ -16769,50 +17698,28 @@ 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; + 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; /** - * 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. - * - * @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. + * Updates a network watcher tags. * - * @param {array} [parameters.providers] List of Internet service providers. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {object} parameters Parameters supplied to update network watcher + * tags. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16821,43 +17728,23 @@ 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. */ - getAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * 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. - * - * @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. + * Updates a network watcher tags. * - * @param {array} [parameters.providers] List of Internet service providers. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {object} parameters Parameters supplied to update network watcher + * tags. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16871,7 +17758,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AzureReachabilityReport} - The deserialized result object. + * @resolve {NetworkWatcher} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16879,39 +17766,22 @@ 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 - * information. + * {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. */ - 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; + 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; /** - * 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. - * - * @param {string} [parameters.country] The country for available providers - * list. - * - * @param {string} [parameters.state] The state for available providers list. + * Gets all network watchers by resource group. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -16920,32 +17790,16 @@ 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>; + listWithHttpOperationResponse(resourceGroupName: 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. - * - * @param {string} [parameters.country] The country for available providers - * list. - * - * @param {string} [parameters.state] The state for available providers list. + * Gets all network watchers by resource group. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -16959,7 +17813,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AvailableProvidersList} - The deserialized result object. + * @resolve {NetworkWatcherListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16967,34 +17821,21 @@ 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 + * {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. */ - 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; + 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; /** - * Get network configuration diagnostic. - * - * @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. + * Gets all network watchers by subscription. * * @param {object} [options] Optional Parameters. * @@ -17003,27 +17844,14 @@ 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>; + listAllWithHttpOperationResponse(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. - * - * @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. + * Gets all network watchers by subscription. * * @param {object} [options] Optional Parameters. * @@ -17037,7 +17865,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. + * @resolve {NetworkWatcherListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17045,26 +17873,40 @@ 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. + * {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. */ - 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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network watcher resource. + * 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 @@ -17072,19 +17914,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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getTopologyWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network watcher resource. + * 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 @@ -17097,7 +17953,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {Topology} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17105,15 +17961,16 @@ 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. + * {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. */ - 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; + 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; /** @@ -17165,7 +18022,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginVerifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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 @@ -17233,9 +18090,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17270,7 +18127,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginGetNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Gets the next hop from the specified VM. @@ -17320,9 +18177,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17348,7 +18205,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginGetVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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. @@ -17390,9 +18247,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17425,7 +18282,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginGetTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Initiate troubleshooting on a specified resource @@ -17473,9 +18330,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17502,7 +18359,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginGetTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Get the last completed troubleshooting result on a specified resource @@ -17544,9 +18401,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17609,7 +18466,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginSetFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + setFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Configures flow log and traffic analytics (optional) on a specified @@ -17687,9 +18544,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17718,7 +18575,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginGetFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Queries status of flow log and traffic analytics (optional) on a specified @@ -17762,9 +18619,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17827,7 +18684,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginCheckConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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 @@ -17906,9 +18763,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -17954,7 +18811,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginGetAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Gets the relative latency score for internet service providers from a @@ -18016,9 +18873,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -18053,7 +18910,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginListAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Lists all available internet service providers for a specified Azure region. @@ -18104,9 +18961,9 @@ export interface NetworkWatchers { * * {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; + 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; /** @@ -18136,7 +18993,7 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginGetNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Get network configuration diagnostic. @@ -18182,219 +19039,18 @@ export interface NetworkWatchers { * * {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 { - - - /** - * 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. - * - * @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. - * - * @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. - */ - createWithHttpOperationResponse(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} 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. - * - * @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. - * - * @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 {PacketCaptureResult} - 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. - * - * {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. - */ - 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; - - - /** - * Gets a packet capture session by name. - * - * @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 - * request - * - * @returns {Promise} A promise is returned - * - * @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>; - - /** - * Gets a packet capture session by name. - * - * @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 - * 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 {PacketCaptureResult} - 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. - * - * {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. - */ - 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; + 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; /** - * Deletes the specified packet capture session. + * 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 {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 @@ -18406,17 +19062,15 @@ export interface PacketCaptures { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified packet capture session. + * 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 {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 @@ -18443,19 +19097,48 @@ export interface PacketCaptures { * * {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; + 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; /** - * Stops a specified packet capture session. + * 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 {string} packetCaptureName The name of the packet capture session. + * @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. * @@ -18464,20 +19147,49 @@ 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>; + beginVerifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops a specified packet capture session. + * 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 {string} packetCaptureName The name of the packet capture session. + * @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. * @@ -18491,7 +19203,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VerificationIPFlowResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18499,26 +19211,39 @@ 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. + * {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. */ - 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; + 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; /** - * Query the status of a running packet capture session. + * 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 resource. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * @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. * @@ -18527,21 +19252,32 @@ 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>; + beginGetNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query the status of a running packet capture session. + * 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 resource. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * @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. * @@ -18555,7 +19291,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. + * @resolve {NextHopResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18563,25 +19299,29 @@ 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. + * {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. */ - 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; + 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; /** - * Lists all packet capture sessions within the specified resource group. + * 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 resource. + * @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. * @@ -18590,18 +19330,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. */ - listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all packet capture sessions within the specified resource group. + * 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 resource. + * @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. * @@ -18615,7 +19360,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureListResult} - The deserialized result object. + * @resolve {SecurityGroupViewResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18623,59 +19368,37 @@ 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 + * {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. */ - 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; + 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; /** - * Create and start a packet capture on the specified VM. + * 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} 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} networkWatcherName The name of the network watcher resource. * - * @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 {object} parameters Parameters that define the resource to + * troubleshoot. * - * @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.targetResourceId The target resource to + * troubleshoot. * - * @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.storageId The ID for the storage account to save + * the troubleshoot result. * - * @param {array} [parameters.filters] + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * * @param {object} [options] Optional Parameters. * @@ -18684,52 +19407,30 @@ 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. */ - beginCreateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create and start a packet capture on the specified VM. + * 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} 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} networkWatcherName The name of the network watcher resource. * - * @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 {object} parameters Parameters that define the resource to + * troubleshoot. * - * @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.targetResourceId The target resource to + * troubleshoot. * - * @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.storageId The ID for the storage account to save + * the troubleshoot result. * - * @param {array} [parameters.filters] + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * * @param {object} [options] Optional Parameters. * @@ -18743,7 +19444,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureResult} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18751,26 +19452,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. + * {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. */ - 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; + 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; /** - * Deletes the specified packet capture session. + * 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. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} packetCaptureName The name of the packet capture session. + * @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. * @@ -18779,20 +19484,24 @@ 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>; + beginGetTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified packet capture session. + * 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. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} packetCaptureName The name of the packet capture session. + * @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. * @@ -18806,7 +19515,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18814,25 +19523,66 @@ 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. + * {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. */ - 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; + 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; /** - * Stops a specified packet capture session. + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @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 {string} packetCaptureName The name of the packet capture session. + * @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. * @@ -18841,20 +19591,60 @@ 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>; + beginSetFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops a specified packet capture session. + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @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 {string} packetCaptureName The name of the packet capture session. + * @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. * @@ -18868,7 +19658,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18876,26 +19666,32 @@ 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. + * {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. */ - 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; + 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; /** - * Query the status of a running packet capture session. + * Queries status of flow log and traffic analytics (optional) on a specified + * resource. * - * @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 {string} networkWatcherName The name of the network watcher resource. * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * @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. * @@ -18904,21 +19700,26 @@ 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>; + beginGetFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query the status of a running packet capture session. + * Queries status of flow log and traffic analytics (optional) on a specified + * resource. * - * @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 {string} networkWatcherName The name of the network watcher resource. * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * @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. * @@ -18932,7 +19733,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18940,69 +19741,66 @@ 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. + * {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. */ - 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 { + 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; /** - * 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. + * 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 {object} parameters Parameters that define the operation to create a - * connection monitor. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} [parameters.location] Connection monitor location. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} [parameters.tags] Connection monitor tags. + * @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 used as - * the source by connection monitor. + * @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 used by connection - * monitor. + * @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 - * used as the destination by connection monitor. - * - * @param {string} [parameters.destination.address] Address of the connection - * monitor destination (IP or domain name). + * to which a connection attempt will be made. * - * @param {number} [parameters.destination.port] The destination port used by - * connection monitor. + * @param {string} [parameters.destination.address] The IP address or URI the + * resource to which a connection attempt will be made. * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * @param {number} [parameters.destination.port] Port on which check + * connectivity will be performed. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @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. * @@ -19011,53 +19809,60 @@ 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. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCheckConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, 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. + * 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 {object} parameters Parameters that define the operation to create a - * connection monitor. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} [parameters.location] Connection monitor location. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} [parameters.tags] Connection monitor tags. + * @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 used as - * the source by connection monitor. + * @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 used by connection - * monitor. + * @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 - * used as the destination by connection monitor. + * to which a connection attempt will be made. * - * @param {string} [parameters.destination.address] Address of the connection - * monitor destination (IP or domain name). + * @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] The destination port used by - * connection monitor. + * @param {number} [parameters.destination.port] Port on which check + * connectivity will be performed. * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * @param {string} [parameters.protocol] Network protocol. Possible values + * include: 'Tcp', 'Http', 'Https', 'Icmp' * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @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. * @@ -19071,7 +19876,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {ConnectivityInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19079,28 +19884,50 @@ 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 + * {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. */ - 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; + 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 a connection monitor by name. + * 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 containing - * Network Watcher. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. * @@ -19109,21 +19936,43 @@ 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. */ - getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a connection monitor by name. + * 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 containing - * Network Watcher. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. * @@ -19137,7 +19986,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {AzureReachabilityReport} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19145,28 +19994,39 @@ 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 + * {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. */ - 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; + 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; /** - * Deletes the specified connection monitor. + * Lists all available internet service providers for a specified Azure region. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. * @@ -19175,21 +20035,32 @@ 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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginListAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified connection monitor. + * Lists all available internet service providers for a specified Azure region. * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. * @@ -19203,7 +20074,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {AvailableProvidersList} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19211,26 +20082,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. + * {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. */ - 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; + 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; /** - * Stops the specified connection monitor. + * Get network configuration diagnostic. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. * @@ -19239,21 +20118,27 @@ 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>; + beginGetNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops the specified connection monitor. + * Get network configuration diagnostic. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. * @@ -19267,7 +20152,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19275,26 +20160,68 @@ 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. + * {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. */ - 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; + 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 { /** - * Starts the specified connection monitor. + * Create and start a packet capture on the specified VM. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. + * + * @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. * @@ -19303,21 +20230,52 @@ 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. */ - startWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Starts the specified connection monitor. + * Create and start a packet capture on the specified VM. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. + * + * @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. * @@ -19331,7 +20289,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19339,27 +20297,26 @@ 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. + * {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. */ - 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; + 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; /** - * Query a snapshot of the most recent connection states. + * Gets a packet capture session by name. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19368,22 +20325,20 @@ 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>; + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query a snapshot of the most recent connection states. + * Gets a packet capture session by name. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19397,7 +20352,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19405,26 +20360,26 @@ 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. + * {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. */ - 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; + 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; /** - * Lists all connection monitors for the specified Network Watcher. + * Deletes the specified packet capture session. * - * @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} networkWatcherName The name of the network watcher. + * + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19433,19 +20388,20 @@ 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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all connection monitors for the specified Network Watcher. + * Deletes the specified packet capture session. * - * @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} networkWatcherName The name of the network watcher. + * + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19459,7 +20415,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19467,60 +20423,25 @@ 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 - * 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. */ - 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; + 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; /** - * 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). + * Stops a specified packet capture session. * - * @param {number} [parameters.destination.port] The destination port used by - * connection monitor. + * @param {string} resourceGroupName The name of the resource group. * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19529,53 +20450,20 @@ 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>; + stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or update a connection monitor. + * Stops a specified packet capture session. * - * @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} 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. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19589,7 +20477,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19597,28 +20485,26 @@ 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. + * {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, 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; + 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; /** - * Deletes the specified connection monitor. + * Query the status of a running packet capture session. * - * @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} connectionMonitorName The name of the connection monitor. + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -19627,21 +20513,21 @@ 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>; + getStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified connection monitor. + * Query the status of a running packet capture session. * - * @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} connectionMonitorName The name of the connection monitor. + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -19655,7 +20541,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19663,27 +20549,26 @@ 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. + * {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. */ - 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; + 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; /** - * Stops the specified connection monitor. + * Lists all packet capture sessions within the specified resource group. * - * @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} connectionMonitorName The name of the connection monitor. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -19691,22 +20576,19 @@ 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>; + listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops the specified connection monitor. + * Lists all packet capture sessions within the specified resource group. * - * @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} connectionMonitorName The name of the connection monitor. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -19719,7 +20601,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PacketCaptureListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19727,26 +20609,59 @@ 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. + * {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. */ - 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; + 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; /** - * Starts the specified connection monitor. + * Create and start a packet capture on the specified VM. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. + * + * @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. * @@ -19755,21 +20670,52 @@ 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. */ - beginStartWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Starts the specified connection monitor. + * Create and start a packet capture on the specified VM. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @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. + * + * @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. * @@ -19783,7 +20729,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19791,27 +20737,26 @@ 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. + * {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. */ - 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; + 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; /** - * Query a snapshot of the most recent connection states. + * Deletes the specified packet capture session. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19820,22 +20765,20 @@ 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. */ - beginQueryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query a snapshot of the most recent connection states. + * Deletes the specified packet capture session. * - * @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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -19849,7 +20792,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19857,30 +20800,25 @@ 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. + * {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. */ - 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 { + 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; /** - * Lists all of the available Network Rest API operations. + * 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. * @@ -19889,14 +20827,20 @@ 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>; + beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all of the available Network Rest API operations. + * 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. * @@ -19910,7 +20854,7 @@ export interface Operations { * * {Promise} A promise is returned. * - * @resolve {OperationListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19918,23 +20862,26 @@ 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. + * {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. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(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; /** - * Lists all of the available Network Rest API operations. + * Query the status of a running packet capture session. * - * @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 resource. + * + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -19943,17 +20890,21 @@ 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. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all of the available Network Rest API operations. + * Query the status of a running packet capture session. * - * @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 resource. + * + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -19967,7 +20918,7 @@ export interface Operations { * * {Promise} A promise is returned. * - * @resolve {OperationListResult} - The deserialized result object. + * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19975,33 +20926,69 @@ 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. + * {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. */ - 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; + 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 - * PublicIPAddresses + * ConnectionMonitors * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface PublicIPAddresses { +export interface ConnectionMonitors { /** - * Deletes the specified public IP address. + * 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} publicIpAddressName The name of the subnet. + * @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. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -20010,18 +20997,53 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP address. + * 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} publicIpAddressName The name of the subnet. + * @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. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -20035,7 +21057,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20043,49 +21065,53 @@ 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. + * {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. */ - 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; + 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 specified public IP address in a specified resource group. + * Gets a connection monitor by name. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [options] Optional Parameters. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @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, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified public IP address in a specified resource group. + * Gets a connection monitor by name. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [options] Optional Parameters. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -20097,7 +21123,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20105,92 +21131,92 @@ 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. + * {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. */ - 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; + 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; /** - * Creates or updates a static or dynamic public IP address. + * Deletes the specified 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} publicIpAddressName The name of the public IP address. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {object} [parameters.sku] The public IP address SKU. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * @returns {Promise} A promise is returned * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified connection monitor. * - * @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} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @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} networkWatcherName The name of the Network Watcher resource. * - * @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} connectionMonitorName The name of the connection monitor. * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.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.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. + * {Promise} A promise is returned. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. + * @resolve {null} - The deserialized result object. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.id] Resource ID. + * {null} [result] - The deserialized result object if an error did not occur. * - * @param {string} [parameters.location] Resource location. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {object} [parameters.tags] Resource tags. + * {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; + + + /** + * 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. * * @param {object} [options] Optional Parameters. * @@ -20199,86 +21225,85 @@ 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>; + stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP address. + * Stops the specified 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} publicIpAddressName The name of the public IP address. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {object} [parameters.sku] The public IP address SKU. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. + * {Promise} A promise is returned. * - * @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. + * @resolve {null} - The deserialized result object. * - * @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. + * @reject {Error|ServiceError} - The error object. * - * @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. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. + * {null} [result] - The deserialized result object if an error did not occur. * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * {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 {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.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.id] Resource ID. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.location] Resource location. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} [parameters.tags] Resource tags. + * @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 {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} [options] Optional Parameters. * @@ -20292,7 +21317,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. * @@ -20300,29 +21325,27 @@ 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. */ - 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; + 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; /** - * Updates public IP address tags. - * - * @param {string} resourceGroupName The name of the resource group. + * Query a snapshot of the most recent connection states. * - * @param {string} publicIpAddressName The name of the public IP address. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters supplied to update public IP address - * tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -20331,23 +21354,22 @@ 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>; + queryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP address tags. - * - * @param {string} resourceGroupName The name of the resource group. + * Query a snapshot of the most recent connection states. * - * @param {string} publicIpAddressName The name of the public IP address. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters supplied to update public IP address - * tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -20361,7 +21383,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20369,20 +21391,26 @@ 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. + * {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. */ - 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; + 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; /** - * Gets all the public IP addresses in a subscription. + * Lists all connection monitors for the specified Network Watcher. + * + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. + * + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -20391,14 +21419,19 @@ 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>; + listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP addresses in a subscription. + * Lists all connection monitors for the specified Network Watcher. + * + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. + * + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -20412,7 +21445,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {ConnectionMonitorListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20420,23 +21453,60 @@ 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 + * {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. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(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 all public IP addresses in a resource group. + * 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 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. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -20445,16 +21515,53 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP addresses in a resource group. + * 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 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. + * + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -20468,7 +21575,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20476,27 +21583,28 @@ 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 + * {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. */ - 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; + 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; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. + * Deletes the specified 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} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -20505,20 +21613,21 @@ 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>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. + * Deletes the specified 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} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -20532,7 +21641,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. * @@ -20540,33 +21649,26 @@ 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. */ - 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; + 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; /** - * 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. + * Stops the specified connection monitor. * - * @param {string} virtualmachineIndex The virtual machine index. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkInterfaceName The network interface name. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} ipConfigurationName The IP configuration name. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -20575,26 +21677,21 @@ 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>; + beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: 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. + * Stops the specified connection monitor. * - * @param {string} virtualmachineIndex The virtual machine index. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} networkInterfaceName The network interface name. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} ipConfigurationName The IP configuration name. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -20608,7 +21705,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. * @@ -20616,70 +21713,52 @@ 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. */ - 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; + 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; /** - * Get the specified public IP address 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. + * Starts the specified connection monitor. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} ipConfigurationName The name of the IP configuration. + * @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} [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>; + beginStartWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified public IP address 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. + * Starts the specified connection monitor. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} ipConfigurationName The name of the IP configuration. + * @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} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -20690,7 +21769,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. * @@ -20698,24 +21777,27 @@ 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; + 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; /** - * Deletes the specified public IP address. + * 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} publicIpAddressName The name of the subnet. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -20724,18 +21806,22 @@ 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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginQueryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP address. + * 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} publicIpAddressName The name of the subnet. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -20749,7 +21835,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20757,15 +21843,264 @@ 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. + * {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. */ - 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; + 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 { + + + /** + * 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 + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(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 + * + * @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 {OperationListResult} - 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. + * + * {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. + */ + 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 {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>; + + /** + * Lists all of the available Network Rest API operations. + * + * @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 {OperationListResult} - 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. + * + * {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. + */ + 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 { + + + /** + * Deletes the specified public IP address. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpAddressName The name of the subnet. + * + * @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, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified public IP address. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpAddressName The name of the subnet. + * + * @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, 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; + + + /** + * 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. + * + * @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, publicIpAddressName: string, options?: { expand? : string, 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. + * + * @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 {PublicIPAddress} - 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. + * + * {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, 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; /** @@ -20854,7 +22189,7 @@ export interface PublicIPAddresses { * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Creates or updates a static or dynamic public IP address. @@ -20958,9 +22293,9 @@ export interface PublicIPAddresses { * * {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; + 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; /** @@ -20986,7 +22321,7 @@ export interface PublicIPAddresses { * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Updates public IP address tags. @@ -21027,17 +22362,14 @@ export interface PublicIPAddresses { * * {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; + 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; /** * Gets all the public IP addresses 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 @@ -21049,14 +22381,11 @@ export interface PublicIPAddresses { * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(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. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -21085,16 +22414,15 @@ export interface PublicIPAddresses { * * {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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** * Gets all public IP addresses in a 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 {object} [options] Optional Parameters. * @@ -21107,13 +22435,12 @@ export interface PublicIPAddresses { * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Gets all public IP addresses in a 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 {object} [options] Optional Parameters. * @@ -21143,17 +22470,19 @@ export interface PublicIPAddresses { * * {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; + 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 information about all public IP addresses on a virtual machine scale * set level. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * * @param {object} [options] Optional Parameters. * @@ -21166,14 +22495,16 @@ export interface PublicIPAddresses { * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * * @param {object} [options] Optional Parameters. * @@ -21203,17 +22534,25 @@ export interface PublicIPAddresses { * * {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; + 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; /** * Gets information about all public IP addresses in a virtual machine IP * configuration in a virtual machine scale set. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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. + * + * @param {string} ipConfigurationName The IP configuration name. * * @param {object} [options] Optional Parameters. * @@ -21226,14 +22565,22 @@ export interface PublicIPAddresses { * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetVMPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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. + * + * @param {string} ipConfigurationName The IP configuration name. * * @param {object} [options] Optional Parameters. * @@ -21263,49 +22610,62 @@ export interface PublicIPAddresses { * * {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 { + 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; /** - * Deletes the specified public IP prefix. + * Get the specified public IP address in a virtual machine scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @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 {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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: 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>; /** - * Deletes the specified public IP prefix. + * Get the specified public IP address in a virtual machine scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @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 {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -21316,7 +22676,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21324,50 +22684,47 @@ 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. + * {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. */ - 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; + 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; /** - * Gets the specified public IP prefix in a specified resource group. + * Deletes the specified public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * @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. */ - getWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified public IP prefix in a specified resource group. + * Deletes the specified public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * @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 * @@ -21378,7 +22735,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. * @@ -21386,53 +22743,78 @@ 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. */ - 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; + 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; /** - * Creates or updates a static or dynamic public IP prefix. + * Creates or updates a static or dynamic public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} publicIpAddressName The name of the public IP address. * * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. + * public IP address operation. * - * @param {object} [parameters.sku] The public IP prefix SKU. + * @param {object} [parameters.sku] The public IP address SKU. * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' + * @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 prefix. + * public IP address. * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. * - * @param {string} [parameters.ipPrefix] The allocated Prefix + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses + * @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 prefix resource. + * public IP resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. 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 @@ -21454,47 +22836,73 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP prefix. + * Creates or updates a static or dynamic public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} publicIpAddressName The name of the public IP address. * * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. + * public IP address operation. * - * @param {object} [parameters.sku] The public IP prefix SKU. + * @param {object} [parameters.sku] The public IP address SKU. * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' + * @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 {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. + * @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.ipPrefix] The allocated Prefix + * @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 {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses + * @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 prefix resource. + * public IP resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. 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 @@ -21521,7 +22929,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21529,26 +22937,26 @@ 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. + * {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. */ - 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; + 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; /** - * Updates public IP prefix tags. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {object} parameters Parameters supplied to update public IP prefix + * @param {object} parameters Parameters supplied to update public IP address * tags. * * @param {object} [parameters.tags] Resource tags. @@ -21560,20 +22968,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>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP prefix tags. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {object} parameters Parameters supplied to update public IP prefix + * @param {object} parameters Parameters supplied to update public IP address * tags. * * @param {object} [parameters.tags] Resource tags. @@ -21590,7 +22998,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21598,20 +23006,23 @@ 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. + * {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. */ - 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; + 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; /** - * Gets all the public IP prefixes in a subscription. + * Gets all the public IP addresses in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -21620,14 +23031,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. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP prefixes in a subscription. + * Gets all the public IP addresses in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -21641,7 +23055,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21649,23 +23063,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 + * {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. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(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 public IP prefixes in a resource group. + * Gets all public IP addresses in a resource group. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -21674,16 +23089,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. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP prefixes in a resource group. + * Gets all public IP addresses in a resource group. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -21697,7 +23113,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21705,17 +23121,146 @@ 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 + * {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, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: 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 information about all public IP addresses on a virtual machine scale + * set level. + * + * @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. + */ + listVirtualMachineScaleSetPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets information about all public IP addresses on a virtual machine scale + * set level. + * + * @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 {PublicIPAddressListResult} - 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. + * + * {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; + + + /** + * Gets information about all public IP addresses in a virtual machine IP + * configuration in a virtual machine scale set. + * + * @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. + */ + listVirtualMachineScaleSetVMPublicIPAddressesNextWithHttpOperationResponse(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} 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 {PublicIPAddressListResult} - 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. + * + * {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 { /** @@ -21736,7 +23281,7 @@ export interface PublicIPPrefixes { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Deletes the specified public IP prefix. @@ -21771,9 +23316,72 @@ export interface PublicIPPrefixes { * * {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; + 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; + + + /** + * Gets the specified public IP prefix in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @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. + * + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, 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. + * + * @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 + * + * @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 {PublicIPPrefix} - 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. + * + * {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. + */ + 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; /** @@ -21836,7 +23444,7 @@ export interface PublicIPPrefixes { * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Creates or updates a static or dynamic public IP prefix. @@ -21914,9 +23522,9 @@ export interface PublicIPPrefixes { * * {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; + 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; /** @@ -21942,7 +23550,7 @@ export interface PublicIPPrefixes { * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Updates public IP prefix tags. @@ -21983,17 +23591,14 @@ export interface PublicIPPrefixes { * * {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; + 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} 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 @@ -22005,14 +23610,11 @@ export interface PublicIPPrefixes { * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Gets all the public IP prefixes 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 @@ -22041,16 +23643,15 @@ export interface PublicIPPrefixes { * * {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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** * Gets all public IP prefixes in a 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 {object} [options] Optional Parameters. * @@ -22063,13 +23664,12 @@ export interface PublicIPPrefixes { * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Gets all public IP prefixes in a 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 {object} [options] Optional Parameters. * @@ -22099,26 +23699,17 @@ export interface PublicIPPrefixes { * * {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 - * RouteFilters - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface RouteFilters { + 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. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -22131,14 +23722,14 @@ export interface RouteFilters { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route filter. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -22166,45 +23757,123 @@ 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; + 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 the specified route filter. + * Creates or updates a static or dynamic public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @param {string} [options.expand] Expands referenced express route bgp - * peering resources. + * @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. * * @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, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route filter. + * Creates or updates a static or dynamic public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @param {string} [options.expand] Expands referenced express route bgp - * peering resources. + * @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. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -22216,7 +23885,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22224,37 +23893,354 @@ 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. + * {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. */ - 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; + 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; /** - * Creates or updates a route filter in a specified resource group. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {object} [parameters.tags] Resource tags. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {object} [options] Optional Parameters. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [routeFilterParameters.location] Resource location. + * @returns {Promise} A promise is returned + * + * @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>; + + /** + * 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 + * 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 {PublicIPPrefix} - 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. + * + * {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. + */ + 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 all the public IP prefixes 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 the public IP prefixes 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 {PublicIPPrefixListResult} - 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. + * + * {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. + */ + 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 public IP prefixes 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 public IP prefixes 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 {PublicIPPrefixListResult} - 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. + * + * {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. + */ + 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 { + + + /** + * Deletes 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 {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, routeFilterName: string, 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. + * + * @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, 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; + + + /** + * 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. + * + * @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 + * + * @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. * @@ -24967,140 +26953,20 @@ export interface BgpServiceCommunities { /** * @class - * Usages - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface Usages { - - - /** - * List network usages for a subscription. - * - * @param {string} location The location where resource usage is queried. - * - * @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(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * List network usages for a subscription. - * - * @param {string} location The location where resource usage is queried. - * - * @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 {UsagesListResult} - 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. - * - * {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(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} 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>; - - /** - * List network usages for 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 {UsagesListResult} - 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. - * - * {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; -} - -/** - * @class - * VirtualNetworks + * ServiceEndpointPolicies * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface VirtualNetworks { +export interface ServiceEndpointPolicies { /** - * Deletes the specified virtual network. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -25113,14 +26979,15 @@ export interface VirtualNetworks { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -25148,17 +27015,18 @@ export interface VirtualNetworks { * * {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; + 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 virtual network by resource group. + * Gets the specified service Endpoint Policies in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -25169,18 +27037,19 @@ 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. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: 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 virtual network by resource group. + * Gets the specified service Endpoint Policies in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -25196,7 +27065,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25204,66 +27073,41 @@ 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. + * {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, 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; + 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; /** - * Creates or updates a virtual network in the specified resource group. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @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. + * service endpoint policy operation. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * service endpoint policy. 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.etag] A unique read-only string that changes + * whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -25278,60 +27122,35 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network in the specified resource group. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @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. + * service endpoint policy operation. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * service endpoint policy. 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.etag] A unique read-only string that changes + * whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -25351,7 +27170,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25359,27 +27178,28 @@ 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. + * {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, 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; + 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 virtual network tags. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * * @param {object} [parameters.tags] Resource tags. * @@ -25390,21 +27210,22 @@ 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>; + updateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * * @param {object} [parameters.tags] Resource tags. * @@ -25420,7 +27241,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25428,20 +27249,20 @@ 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. + * {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, 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; + 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 virtual networks in a subscription. + * Gets all the service endpoint policies in a subscription. * * @param {object} [options] Optional Parameters. * @@ -25450,14 +27271,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. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Gets all the service endpoint policies in a subscription. * * @param {object} [options] Optional Parameters. * @@ -25471,7 +27292,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25479,21 +27300,21 @@ 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 + * {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; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual networks in a resource group. + * Gets all service endpoint Policies in a resource group. * * @param {string} resourceGroupName The name of the resource group. * @@ -25504,14 +27325,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. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a resource group. + * Gets all service endpoint Policies in a resource group. * * @param {string} resourceGroupName The name of the resource group. * @@ -25527,7 +27348,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25535,52 +27356,50 @@ 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 + * {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; + 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; /** - * Checks whether a private IP address is available for use. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @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. */ - checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Checks whether a private IP address is available for use. + * Deletes the specified service endpoint policy. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @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 * @@ -25591,7 +27410,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {IPAddressAvailabilityResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25599,25 +27418,46 @@ 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. + * {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. */ - 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; + 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; /** - * Lists usage stats. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @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. * @@ -25626,18 +27466,41 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists usage stats. + * Creates or updates a service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @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. * @@ -25651,7 +27514,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25659,25 +27522,30 @@ 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 - * 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. */ - 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; + 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; /** - * Deletes the specified virtual network. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @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 {object} [options] Optional Parameters. * @@ -25686,18 +27554,24 @@ 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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. + * Updates service Endpoint Policies. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @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 {object} [options] Optional Parameters. * @@ -25711,7 +27585,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25719,71 +27593,81 @@ 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. + * {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. */ - 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; + 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; /** - * Creates or updates a virtual network in the specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. + * Gets all the service endpoint policies in a subscription. * - * @param {object} parameters Parameters supplied to the create or update - * virtual network operation + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {object} [parameters.addressSpace] The AddressSpace that contains an - * array of IP address ranges that can be used by subnets. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.addressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an - * array of DNS servers available to VMs deployed in the virtual network. + * @returns {Promise} A promise is returned * - * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers - * IP addresses. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the service endpoint policies in a subscription. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @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 {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * {Promise} A promise is returned. * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [parameters.id] Resource ID. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [parameters.location] Resource location. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {object} [parameters.tags] Resource tags. + * {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; + + + /** + * Gets all service endpoint Policies in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25792,66 +27676,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. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network in the specified resource group. - * - * @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 {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. + * Gets all service endpoint Policies in a resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25865,7 +27700,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25873,29 +27708,38 @@ 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. + * {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. */ - 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; + 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 { /** - * Updates a virtual network tags. + * Deletes the specified ServiceEndpoint policy definitions. * * @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 {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -25904,23 +27748,22 @@ 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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. + * Deletes the specified ServiceEndpoint policy definitions. * * @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 {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -25934,7 +27777,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. * @@ -25942,23 +27785,28 @@ 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. */ - 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; + 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 all virtual networks in a subscription. + * Get the specified service endpoint policy definitions from service endpoint + * policy. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * * @param {object} [options] Optional Parameters. * @@ -25967,17 +27815,23 @@ 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>; + getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Get the specified service endpoint policy definitions from service endpoint + * policy. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * * @param {object} [options] Optional Parameters. * @@ -25991,7 +27845,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25999,24 +27853,55 @@ 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 + * {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. */ - 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; + 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; /** - * Gets all virtual networks in a resource group. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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} [serviceEndpointPolicyDefinitions.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -26025,17 +27910,48 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a resource group. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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} [serviceEndpointPolicyDefinitions.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -26049,7 +27965,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26057,24 +27973,26 @@ 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 + * {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. */ - 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; + 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; /** - * Lists usage stats. + * 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. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * * @param {object} [options] Optional Parameters. * @@ -26083,17 +28001,19 @@ 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. */ - listUsageNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists usage stats. + * 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. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * * @param {object} [options] Optional Parameters. * @@ -26107,7 +28027,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26115,36 +28035,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 - * 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. */ - 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 { + 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 subnet. + * Deletes the specified ServiceEndpoint policy definitions. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {string} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -26157,16 +28070,18 @@ export interface Subnets { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified subnet. + * Deletes the specified ServiceEndpoint policy definitions. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {string} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -26194,47 +28109,99 @@ export interface Subnets { * * {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; + 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; /** - * Gets the specified subnet by virtual network and resource group. + * 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} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * - * @param {object} [options] Optional Parameters. + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. * - * @param {string} [options.expand] Expands referenced resources. + * @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} [serviceEndpointPolicyDefinitions.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. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified subnet by virtual network and resource group. + * 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} virtualNetworkName The name of the virtual network. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * - * @param {object} [options] Optional Parameters. + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. * - * @param {string} [options.expand] Expands referenced resources. + * @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} [serviceEndpointPolicyDefinitions.id] Resource ID. + * + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -26246,7 +28213,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26254,102 +28221,90 @@ 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. + * {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, 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; + 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; /** - * Creates or updates a subnet in the specified virtual network. + * Gets all service endpoint policy definitions in a service end point policy. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {object} [options] Optional Parameters. * - * @param {string} subnetName The name of the subnet. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. + * @returns {Promise} A promise is returned * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @reject {Error|ServiceError} - The error object. + */ + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all service endpoint policy definitions in a service end point policy. * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. + * @param {object} [options] Optional Parameters. * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. + * @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.id] Resource ID. + * {Promise} A promise is returned. * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. + * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @reject {Error|ServiceError} - The error object. * - * @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. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * {ServiceEndpointPolicyDefinitionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinitionListResult} + * for more information. * - * @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. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [subnetParameters.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. + */ + 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 { + + + /** + * List network usages for a subscription. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {string} location The location where resource usage is queried. * * @param {object} [options] Optional Parameters. * @@ -26358,96 +28313,73 @@ 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. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(location: string, 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. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. - * - * @param {string} [subnetParameters.addressPrefix] The address prefix 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. + * List network usages for a subscription. * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {string} location The location where resource usage is queried. * - * @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 {UsagesListResult} - 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. + * {UsagesListResult} [result] - The deserialized result object if an error did not occur. + * See {@link UsagesListResult} 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. + */ + 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 {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @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. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * List network usages for a subscription. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26461,7 +28393,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {UsagesListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26469,20 +28401,29 @@ 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. + * {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. */ - 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; + 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 { /** - * Gets all subnets in a virtual network. + * Deletes the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * @@ -26495,14 +28436,14 @@ 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. */ - listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all subnets in a virtual network. + * Deletes the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * @@ -26520,7 +28461,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. * @@ -26528,51 +28469,50 @@ 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. */ - 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; + 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; /** - * Deletes the specified subnet. + * Gets the specified virtual network by resource group. * * @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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified subnet. + * Gets the specified virtual network by resource group. * * @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 * @@ -26583,7 +28523,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26591,101 +28531,72 @@ export interface Subnets { * * {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. */ - 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; + 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 subnet in the specified virtual network. + * Creates or updates a virtual network in the specified resource group. * * @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 {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} parameters Parameters supplied to the create or update + * virtual network operation * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * @param {string} [subnetParameters.routeTable.id] Resource ID. + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * @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 {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @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.id] Resource ID. * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.location] Resource location. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -26694,96 +28605,66 @@ 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. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a subnet in the specified virtual network. + * Creates or updates a virtual network in the specified resource group. * * @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 {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} parameters Parameters supplied to the create or update + * virtual network operation * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * @param {string} [subnetParameters.routeTable.id] Resource ID. + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * @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 {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @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.id] Resource ID. * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.location] Resource location. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -26797,7 +28678,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26805,23 +28686,29 @@ 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. + * {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. */ - 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; + 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 subnets in a virtual network. + * Updates a virtual network 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} 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. * @@ -26830,17 +28717,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. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all subnets in a virtual network. + * Updates a virtual network 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} 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. * @@ -26854,7 +28747,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {SubnetListResult} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26862,36 +28755,20 @@ 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. + * {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. */ - 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 { + 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 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. + * Gets all virtual networks in a subscription. * * @param {object} [options] Optional Parameters. * @@ -26900,21 +28777,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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * 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. + * Gets all virtual networks in a subscription. * * @param {object} [options] Optional Parameters. * @@ -26928,7 +28798,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26936,27 +28806,24 @@ 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. + * {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. */ - 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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified virtual network peering. + * Gets all virtual networks in a resource group. * * @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 @@ -26964,22 +28831,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. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network peering. + * Gets all virtual networks in a resource group. * * @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 @@ -26992,7 +28854,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27000,161 +28862,52 @@ 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. + * {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. */ - 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; + 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; /** - * Creates or updates a peering in the specified virtual network. + * Checks whether a private IP address is available for use. * * @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. - * - * @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 * * @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, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a peering in the specified virtual network. + * Checks whether a private IP address is available for use. * * @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. - * - * @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 * @@ -27165,7 +28918,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {IPAddressAvailabilityResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27173,20 +28926,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. + * {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. */ - 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; + 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 virtual network peerings in a virtual network. + * Lists usage stats. * * @param {string} resourceGroupName The name of the resource group. * @@ -27199,14 +28953,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. */ - listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listUsageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network peerings in a virtual network. + * Lists usage stats. * * @param {string} resourceGroupName The name of the resource group. * @@ -27224,7 +28978,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27232,29 +28986,26 @@ 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 + * {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. */ - 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; + 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; /** - * Deletes the specified virtual network peering. + * Deletes 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 virtual network - * peering. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27266,18 +29017,15 @@ export interface VirtualNetworkPeerings { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network peering. + * Deletes 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 virtual network - * peering. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27304,74 +29052,65 @@ export interface VirtualNetworkPeerings { * * {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; + 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; /** - * Creates or updates a peering in the specified virtual network. + * Creates or updates a virtual network in the specified resource group. * * @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} parameters Parameters supplied to the create or update + * virtual network operation * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @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.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @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.subnets] A list of subnets in a 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 {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @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.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * @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.ddosProtectionPlan.id] Resource ID. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -27380,75 +29119,66 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a peering in the specified virtual network. + * Creates or updates a virtual network in the specified resource group. * * @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} parameters Parameters supplied to the create or update + * virtual network operation * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @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.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @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.subnets] A list of subnets in a 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 {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @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.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * @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.ddosProtectionPlan.id] Resource ID. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -27462,7 +29192,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27470,23 +29200,29 @@ 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. + * {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. */ - 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; + 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; /** - * Gets all virtual network peerings in a virtual network. + * Updates a virtual network 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} 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. * @@ -27495,17 +29231,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. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network peerings in a virtual network. + * Updates a virtual network 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} 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. * @@ -27519,7 +29261,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27527,134 +29269,81 @@ 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. + * {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. */ - 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 - * VirtualNetworkGateways - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworkGateways { + 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 virtual network gateway in the specified resource - * group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all virtual networks in a subscription. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' + * @returns {Promise} A promise is returned * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. + * @reject {Error|ServiceError} - The error object. + */ + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all virtual networks in a subscription. * - * @param {boolean} [parameters.activeActive] ActiveActive flag + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * {Promise} A promise is returned. * - * @param {number} [parameters.sku.capacity] The capacity. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. - * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. - * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. - * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. - * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. - * - * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. - * - * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP - * speaker settings. - * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. - * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. - * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. - * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * - * @param {string} [parameters.id] Resource ID. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.location] Resource location. + * {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 virtual networks in a resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -27663,118 +29352,75 @@ export interface VirtualNetworkGateways { * * @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, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network gateway in the specified resource - * group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. - * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. - * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' - * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' - * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. - * - * @param {boolean} [parameters.activeActive] ActiveActive flag - * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. - * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. - * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. - * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * Gets all virtual networks in a resource group. * - * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {number} [parameters.sku.capacity] The capacity. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientAddressPool.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 {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * {Promise} A promise is returned. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * @reject {Error|ServiceError} - The error object. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * - * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP - * speaker settings. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * {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; + + + /** + * Lists usage stats. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. + * @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. + */ + listUsageNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists usage stats. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -27788,7 +29434,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27796,25 +29442,36 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * {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. */ - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, 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 { /** - * Gets the specified virtual network gateway by resource group. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -27823,19 +29480,20 @@ export interface VirtualNetworkGateways { * * @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, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network gateway by resource group. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -27849,7 +29507,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27857,49 +29515,54 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} 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, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkGatewayName: string, 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; /** - * Deletes the specified virtual network gateway. + * Gets the specified subnet by virtual network and resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network gateway. + * Gets the specified subnet by virtual network and resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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 * @@ -27910,7 +29573,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {Subnet} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27918,29 +29581,105 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Updates a virtual network gateway tags. + * Creates or updates a subnet in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * @param {string} subnetName The name of the subnet. * - * @param {object} [parameters.tags] Resource tags. + * @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. * @@ -27949,24 +29688,99 @@ export interface VirtualNetworkGateways { * * @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, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway tags. + * Creates or updates a subnet in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * @param {string} subnetName The name of the subnet. * - * @param {object} [parameters.tags] Resource tags. + * @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. * @@ -27980,7 +29794,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {Subnet} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27988,23 +29802,25 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} 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. */ - updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 virtual network gateways by resource group. + * Gets all subnets in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkName The name of the virtual network. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -28012,17 +29828,19 @@ export interface VirtualNetworkGateways { * * @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(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network gateways by resource group. + * Gets all subnets in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkName The name of the virtual network. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -28035,7 +29853,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListResult} - The deserialized result object. + * @resolve {SubnetListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28043,26 +29861,26 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListResult} 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. */ - 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(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 all the connections in a virtual network gateway. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -28071,19 +29889,20 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listConnectionsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the connections in a virtual network gateway. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -28097,7 +29916,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListConnectionsResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28105,116 +29924,104 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListConnectionsResult} - * 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. */ - listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options: { 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; /** - * Resets the primary of the virtual network gateway 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} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. * - * @returns {Promise} A promise is returned + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @reject {Error|ServiceError} - The error object. - */ - resetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Resets the primary of the virtual network gateway in the specified resource - * group. + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. * - * @param {object} [options] Optional Parameters. + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [options.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. + * @param {string} [subnetParameters.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} [subnetParameters.networkSecurityGroup.id] Resource ID. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [subnetParameters.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} [subnetParameters.networkSecurityGroup.tags] Resource tags. * - * {Promise} A promise is returned. + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. * - * @reject {Error|ServiceError} - The error object. + * @param {boolean} [subnetParameters.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} [subnetParameters.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} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * @param {string} [subnetParameters.routeTable.id] Resource ID. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [subnetParameters.routeTable.location] Resource location. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - reset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - reset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - reset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Generates VPN client package for P2S client of the virtual network gateway - * in the specified resource group. + * @param {object} [subnetParameters.routeTable.tags] Resource tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @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.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {string} [subnetParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -28223,142 +30030,99 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - generatevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Generates VPN client package for P2S client of the virtual network gateway - * 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} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. - * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' - * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. - * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} virtualNetworkName The name of the virtual network. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} subnetName The name of the subnet. * - * {Promise} A promise is returned. + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. * - * @resolve {String} - The deserialized result object. + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. * - * @reject {Error|ServiceError} - The error object. + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. * - * {String} [result] - The deserialized result object if an error did not occur. + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [subnetParameters.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. - */ - generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * @param {string} [subnetParameters.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} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @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} [options] Optional Parameters. + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. * - * @returns {Promise} A promise is returned + * @param {string} [subnetParameters.routeTable.id] Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [subnetParameters.routeTable.location] Resource location. * - * @reject {Error|ServiceError} - The error object. - */ - generateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * @param {object} [subnetParameters.routeTable.tags] Resource tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @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.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {string} [subnetParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -28372,7 +30136,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {Subnet} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28380,26 +30144,23 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {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. */ - generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all subnets in a virtual network. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28408,21 +30169,17 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all subnets in a virtual network. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28436,7 +30193,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {SubnetListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28444,53 +30201,61 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [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. */ - getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: 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 + * VirtualNetworkPeerings + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworkPeerings { /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options] Optional Parameters. + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * - * @param {string} [options.peer] The IP address of the peer to retrieve the - * status of. + * @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. */ - getBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options] Optional Parameters. + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * - * @param {string} [options.peer] The IP address of the peer to retrieve the - * status of. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -28502,7 +30267,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {BgpPeerStatusListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28510,26 +30275,26 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpPeerStatusListResult} 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. */ - getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, 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 a xml format representation for supported vpn devices. + * Gets the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -28538,19 +30303,21 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - supportedVpnDevicesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a xml format representation for supported vpn devices. + * Gets the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -28564,7 +30331,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {VirtualNetworkPeering} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28572,91 +30339,81 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {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. */ - supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, 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; - /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @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. - */ - getLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. + * Creates or updates a peering in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options] Optional Parameters. + * @param {string} virtualNetworkPeeringName The name of the peering. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @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. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. * - * {Promise} A promise is returned. + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. * - * @resolve {GatewayRouteListResult} - The deserialized result object. + * @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. * - * @reject {Error|ServiceError} - The error object. + * @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). * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} for more - * information. + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. * - * @param {string} resourceGroupName The name of the resource group. + * @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} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {string} peer The IP address of the peer + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -28665,27 +30422,80 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * Creates or updates a peering in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} peer The IP address of the peer + * @param {string} virtualNetworkPeeringName The name of the peering. * - * @param {object} [options] Optional Parameters. + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @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. + * + * @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. * @@ -28694,7 +30504,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {GatewayRouteListResult} - The deserialized result object. + * @resolve {VirtualNetworkPeering} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28702,64 +30512,24 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} 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. */ - getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; - getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { 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; /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * Gets all virtual network peerings in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. - * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. - * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. - * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -28768,57 +30538,18 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - setVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * Gets all virtual network peerings in a virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. - * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. - * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. - * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -28832,7 +30563,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28840,27 +30571,28 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} 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. */ - setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; - setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, 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; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -28869,20 +30601,21 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * Deletes the specified virtual network peering. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. * * @param {object} [options] Optional Parameters. * @@ -28896,7 +30629,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28904,37 +30637,80 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} 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. */ - getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: 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; /** - * Gets a xml format representation for vpn device configuration script. + * Creates or updates a peering in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection for which the configuration script is generated. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to the generate vpn device - * script operation. + * @param {string} virtualNetworkPeeringName The name of the peering. * - * @param {string} [parameters.vendor] The vendor for the vpn device. + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * @param {string} [parameters.deviceFamily] The device family for the vpn - * device. + * @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.firmwareVersion] The firmware version for the - * vpn device. + * @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. + * + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -28943,30 +30719,75 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - vpnDeviceConfigurationScriptWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a xml format representation for vpn device configuration script. + * Creates or updates a peering in the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection for which the configuration script is generated. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to the generate vpn device - * script operation. + * @param {string} virtualNetworkPeeringName The name of the peering. * - * @param {string} [parameters.vendor] The vendor for the vpn device. + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. * - * @param {string} [parameters.deviceFamily] The device family for the vpn - * device. + * @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.firmwareVersion] The firmware version for the - * vpn device. + * @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. + * + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -28980,7 +30801,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {VirtualNetworkPeering} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28988,283 +30809,544 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {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. */ - vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, callback: ServiceCallback): void; - vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, 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; /** - * Creates or updates a virtual network gateway in the specified resource - * group. + * Gets all virtual network peerings in a virtual network. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {object} [options] Optional Parameters. * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all virtual network peerings in a virtual network. * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {boolean} [parameters.activeActive] ActiveActive flag + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * {Promise} A promise is returned. * - * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. * - * @param {number} [parameters.sku.capacity] The capacity. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * {VirtualNetworkPeeringListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkPeeringListResult} for more + * information. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * {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 + * VirtualNetworkTaps + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworkTaps { + + + /** + * Deletes the specified virtual network tap. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * @param {string} tapName The name of the virtual network tap. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP - * speaker settings. + * @returns {Promise} A promise is returned * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified virtual network tap. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. + * @param {string} tapName The name of the virtual network tap. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.id] Resource ID. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.location] Resource location. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.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} [options] Optional Parameters. + * {Promise} A promise is returned. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @resolve {null} - The deserialized result object. * - * @returns {Promise} A promise is returned + * @reject {Error|ServiceError} - The error object. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @reject {Error|ServiceError} - The error object. + * {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. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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; + /** - * Creates or updates a virtual network gateway in the specified resource - * group. + * Gets information about the specified virtual network tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} tapName The name of virtual network tap. * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' + * @returns {Promise} A promise is returned * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets information about the specified virtual network tap. * - * @param {boolean} [parameters.activeActive] ActiveActive flag + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. + * @param {string} tapName The name of virtual network tap. * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {number} [parameters.sku.capacity] The capacity. + * {Promise} A promise is returned. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * @resolve {VirtualNetworkTap} - The deserialized result object. * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {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. + */ + 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; + + + /** + * 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.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. + * @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.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. + * @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.bgpSettings] Virtual network gateway's BGP - * speaker settings. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. 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.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.id] Resource ID. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} [parameters.location] Resource location. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. * - * @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.subnet.addressPrefix] + * The address prefix for the subnet. * - * {Promise} A promise is returned. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.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. - */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Deletes the specified virtual network gateway. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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. * @@ -29273,19 +31355,354 @@ export interface VirtualNetworkGateways { * * @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, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network gateway. + * Creates or updates a Virtual Network Tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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. * @@ -29299,7 +31716,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29307,29 +31724,29 @@ export interface VirtualNetworkGateways { * * {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, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: 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; /** - * Updates a virtual network gateway tags. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} tapName The name of the tap. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -29338,24 +31755,23 @@ export interface VirtualNetworkGateways { * * @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, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway tags. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} tapName The name of the tap. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -29369,7 +31785,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29377,57 +31793,39 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} 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. */ - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Resets the primary of the virtual network gateway in the specified resource - * group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. - * * @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. */ - beginResetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Resets the primary of the virtual network gateway in the specified resource - * group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -29438,7 +31836,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29446,89 +31844,42 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} 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. */ - beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : 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; /** - * Generates VPN client package for P2S client of the virtual network gateway - * in the specified resource group. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. - * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' - * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. - * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. - * - * @param {object} [options] Optional Parameters. + * @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. */ - beginGeneratevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Generates VPN client package for P2S client of the virtual network gateway - * in the specified resource group. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. - * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' - * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. - * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -29541,7 +31892,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29549,45 +31900,25 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {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. */ - beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, 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; /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * Deletes the specified virtual network tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. - * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' - * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. - * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {string} tapName The name of the virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -29596,40 +31927,18 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGenerateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * Deletes the specified virtual network tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. - * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' - * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. - * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {string} tapName The name of the virtual network tap. * * @param {object} [options] Optional Parameters. * @@ -29643,7 +31952,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29651,427 +31960,759 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {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. */ - beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Gets pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. + * Creates or updates a Virtual Network Tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @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. - */ - beginGetVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [parameters.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} + * [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' * - * {Promise} A promise is returned. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. * - * @resolve {String} - The deserialized result object. + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. * - * @reject {Error|ServiceError} - The error object. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [parameters.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} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * {String} [result] - The deserialized result 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. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.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. - */ - beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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 {string} [options.peer] The IP address of the peer to retrieve the - * status of. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @returns {Promise} A promise is returned + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @reject {Error|ServiceError} - The error object. - */ - beginGetBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * @param {array} + * [parameters.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} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [options.peer] The IP address of the peer to retrieve the - * status of. + * @param {string} + * [parameters.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} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [parameters.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} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * {Promise} A promise is returned. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * @resolve {BgpPeerStatusListResult} - 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. + * @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. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [parameters.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} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpPeerStatusListResult} for more - * information. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.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} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * @returns {Promise} A promise is returned + * @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. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A + * unique read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. - */ - beginGetLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * @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.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * {Promise} A promise is returned. + * @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. * - * @resolve {GatewayRouteListResult} - The deserialized result object. + * @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. * - * @reject {Error|ServiceError} - The error object. + * @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. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} for more - * information. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} peer The IP address of the peer + * @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] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * @returns {Promise} A promise is returned + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * @reject {Error|ServiceError} - The error object. - */ - beginGetAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * @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} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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} peer The IP address of the peer + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {object} [options] Optional Parameters. + * @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 {GatewayRouteListResult} - 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 * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} 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. */ - beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; - beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * Creates or updates a Virtual Network Tap. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} tapName The name of the virtual network tap. * - * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. + * @param {object} parameters Parameters supplied to the create or update + * virtual network tap operation. * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. + * @param {array} [parameters.networkInterfaceTapConfigurations] Specifies the + * list of resource IDs for the network interface IP configuration that needs + * to be tapped. * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. + * @param {object} [parameters.destinationNetworkInterfaceIPConfiguration] The + * reference to the private IP Address of the collector nic that will receive + * the tap * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * @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 {object} [options] Optional Parameters. + * @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} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.subnet] Subnet bound + * to the IP configuration. * - * @returns {Promise} A promise is returned + * @param {boolean} + * [parameters.destinationNetworkInterfaceIPConfiguration.primary] Gets whether + * this is a primary customer address on the network interface. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [parameters.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * @reject {Error|ServiceError} - The error object. - */ - beginSetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * @param {array} + * [parameters.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @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} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. + * @param {string} [parameters.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. + * @param {object} [parameters.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet] The + * reference of the subnet resource. * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.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} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.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} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {Promise} A promise is returned. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} for more - * information. + * @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 {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 {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. + * + * {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. */ - beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; - beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, 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; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @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. * @@ -30080,20 +32721,23 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @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. * @@ -30107,7 +32751,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30115,21 +32759,20 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} 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. */ - beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: 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; /** - * Gets all virtual network gateways by resource group. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -30141,14 +32784,14 @@ export interface VirtualNetworkGateways { * * @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>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network gateways by resource group. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -30165,7 +32808,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListResult} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30173,21 +32816,21 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListResult} 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; + 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 the connections in a virtual network gateway. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -30199,14 +32842,14 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listConnectionsNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the connections in a virtual network gateway. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -30223,7 +32866,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListConnectionsResult} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30231,202 +32874,125 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListConnectionsResult} - * 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. */ - listConnectionsNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listConnectionsNext(nextPageLink: string, callback: ServiceCallback): void; - listConnectionsNext(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 - * VirtualNetworkGatewayConnections + * VirtualNetworkGateways * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface VirtualNetworkGatewayConnections { +export interface VirtualNetworkGateways { /** - * Creates or updates a virtual network gateway connection in the specified - * resource group. + * Creates or updates a virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. - * - * @param {object} parameters Parameters supplied to the create or update - * virtual network gateway connection operation. - * - * @param {string} [parameters.authorizationKey] The authorizationKey. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} parameters.virtualNetworkGateway1 The reference to virtual - * network gateway resource. + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. * - * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual - * network gateway resource. + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. * - * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP - * configurations for virtual network gateway. + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' * - * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of - * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' * - * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this - * virtual network gateway. Possible values are: 'PolicyBased' and - * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. * - * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP - * is enabled for this virtual network gateway or not. + * @param {boolean} [parameters.activeActive] ActiveActive flag * - * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] - * ActiveActive flag + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. * - * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The - * reference of the LocalNetworkGateway resource which represents local network - * site having default routes. Assign Null value in case of removing existing - * default site setting. + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. * - * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * @param {object} [parameters.sku] The reference of the * VirtualNetworkGatewaySku resource which represents the SKU selected for * Virtual network gateway. * - * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU - * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU - * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The - * capacity. + * @param {number} [parameters.sku.capacity] The capacity. * - * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] - * The reference of the VpnClientConfiguration resource which represents the - * P2S VpnClient configurations. + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. * - * @param {object} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] - * The reference of the address space resource which represents Address space - * for P2S VpnClient. + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. * * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] * VpnClientRootCertificate for virtual network gateway. * * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] * VpnClientRevokedCertificate for Virtual network gateway. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] * VpnClientProtocols for Virtual network gateway. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] * VpnClientIpsecPolicies for virtual network gateway P2S client. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] - * The radius server address property of the VirtualNetworkGateway resource for - * vpn client connection. - * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] - * The radius secret property of the VirtualNetworkGateway resource for vpn + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn * client connection. * - * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual - * network gateway's BGP speaker settings. - * - * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The - * resource GUID property of the VirtualNetworkGateway resource. - * - * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. - * - * @param {string} [parameters.virtualNetworkGateway2.location] Resource - * location. - * - * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. - * - * @param {object} [parameters.localNetworkGateway2] The reference to local - * network gateway resource. - * - * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] - * Local network site address space. - * - * @param {array} - * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP - * address of local network gateway. - * - * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network - * gateway's BGP speaker settings. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP - * speaker's ASN. - * - * @param {string} - * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. - * - * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource - * GUID property of the LocalNetworkGateway resource. - * - * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [parameters.localNetworkGateway2.id] Resource ID. - * - * @param {string} [parameters.localNetworkGateway2.location] Resource - * location. - * - * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. - * - * @param {string} parameters.connectionType Gateway connection type. Possible - * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible - * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - * - * @param {number} [parameters.routingWeight] The routing weight. - * - * @param {string} [parameters.sharedKey] The IPSec shared key. - * - * @param {object} [parameters.peer] The reference to peerings resource. + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. * - * @param {string} [parameters.peer.id] Resource ID. + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. * - * @param {boolean} [parameters.enableBgp] EnableBgp flag + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable - * policy-based traffic selectors. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be - * considered by this connection. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. - * - * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute - * Gateway for data forwarding + * VirtualNetworkGateway resource. * * @param {string} [parameters.etag] Gets a unique read-only string that * changes whenever the resource is updated. @@ -30444,189 +33010,112 @@ export interface VirtualNetworkGatewayConnections { * * @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, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network gateway connection in the specified - * resource group. + * Creates or updates a virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. - * - * @param {object} parameters Parameters supplied to the create or update - * virtual network gateway connection operation. - * - * @param {string} [parameters.authorizationKey] The authorizationKey. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} parameters.virtualNetworkGateway1 The reference to virtual - * network gateway resource. + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. * - * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual - * network gateway resource. + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. * - * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP - * configurations for virtual network gateway. + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' * - * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of - * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' * - * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this - * virtual network gateway. Possible values are: 'PolicyBased' and - * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. * - * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP - * is enabled for this virtual network gateway or not. + * @param {boolean} [parameters.activeActive] ActiveActive flag * - * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] - * ActiveActive flag + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. * - * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The - * reference of the LocalNetworkGateway resource which represents local network - * site having default routes. Assign Null value in case of removing existing - * default site setting. + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. * - * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * @param {object} [parameters.sku] The reference of the * VirtualNetworkGatewaySku resource which represents the SKU selected for * Virtual network gateway. * - * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU - * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU - * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The - * capacity. + * @param {number} [parameters.sku.capacity] The capacity. * - * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] - * The reference of the VpnClientConfiguration resource which represents the - * P2S VpnClient configurations. + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. * - * @param {object} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] - * The reference of the address space resource which represents Address space - * for P2S VpnClient. + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. * * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] * VpnClientRootCertificate for virtual network gateway. * * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] * VpnClientRevokedCertificate for Virtual network gateway. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] * VpnClientProtocols for Virtual network gateway. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] * VpnClientIpsecPolicies for virtual network gateway P2S client. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] - * The radius server address property of the VirtualNetworkGateway resource for - * vpn client connection. - * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] - * The radius secret property of the VirtualNetworkGateway resource for vpn + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn * client connection. * - * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual - * network gateway's BGP speaker settings. + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. * - * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The - * resource GUID property of the VirtualNetworkGateway resource. + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. * - * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique - * read-only string that changes whenever the resource is updated. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {string} [parameters.virtualNetworkGateway2.location] Resource - * location. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGateway resource. * - * @param {object} [parameters.localNetworkGateway2] The reference to local - * network gateway resource. - * - * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] - * Local network site address space. - * - * @param {array} - * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP - * address of local network gateway. - * - * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network - * gateway's BGP speaker settings. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP - * speaker's ASN. - * - * @param {string} - * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. - * - * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource - * GUID property of the LocalNetworkGateway resource. - * - * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [parameters.localNetworkGateway2.id] Resource ID. - * - * @param {string} [parameters.localNetworkGateway2.location] Resource - * location. - * - * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. - * - * @param {string} parameters.connectionType Gateway connection type. Possible - * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible - * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - * - * @param {number} [parameters.routingWeight] The routing weight. - * - * @param {string} [parameters.sharedKey] The IPSec shared key. - * - * @param {object} [parameters.peer] The reference to peerings resource. - * - * @param {string} [parameters.peer.id] Resource ID. - * - * @param {boolean} [parameters.enableBgp] EnableBgp flag - * - * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable - * policy-based traffic selectors. - * - * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be - * considered by this connection. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. - * - * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute - * Gateway for data forwarding - * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -30646,7 +33135,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30654,26 +33143,25 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} 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, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified virtual network gateway connection by resource group. + * Gets the specified virtual network gateway by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -30682,19 +33170,19 @@ export interface VirtualNetworkGatewayConnections { * * @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, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network gateway connection by resource group. + * Gets the specified virtual network gateway by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -30708,7 +33196,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30716,26 +33204,25 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} 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, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network Gateway connection. + * Deletes the specified virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -30748,15 +33235,15 @@ export interface VirtualNetworkGatewayConnections { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network Gateway connection. + * Deletes the specified virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -30784,21 +33271,21 @@ export interface VirtualNetworkGatewayConnections { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a virtual network gateway connection tags. + * Updates a virtual network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. + * gateway tags. * * @param {object} [parameters.tags] Resource tags. * @@ -30809,22 +33296,22 @@ export interface VirtualNetworkGatewayConnections { * * @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, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway connection tags. + * Updates a virtual network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. + * gateway tags. * * @param {object} [parameters.tags] Resource tags. * @@ -30840,7 +33327,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30848,39 +33335,23 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} 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, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. + * Gets all virtual network gateways by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. - * - * @param {string} parameters.value The virtual network connection shared key - * value. - * - * @param {string} [parameters.id] Resource ID. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -30888,32 +33359,17 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - setSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. + * Gets all virtual network gateways by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. - * - * @param {string} parameters.value The virtual network connection shared key - * value. - * - * @param {string} [parameters.id] Resource ID. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -30926,7 +33382,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionSharedKey} - The deserialized result object. + * @resolve {VirtualNetworkGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30934,27 +33390,26 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionSharedKey} for more information. + * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListResult} 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. */ - setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; - setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, 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; /** - * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves - * information about the specified virtual network gateway connection shared - * key through Network resource provider. + * Gets all the connections in a virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection shared key name. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -30963,21 +33418,19 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listConnectionsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves - * information about the specified virtual network gateway connection shared - * key through Network resource provider. + * Gets all the connections in a virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection shared key name. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -30991,7 +33444,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionSharedKey} - The deserialized result object. + * @resolve {VirtualNetworkGatewayListConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30999,45 +33452,58 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionSharedKey} for more information. + * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListConnectionsResult} + * 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. */ - getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. + * Resets the primary of the virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * * @param {object} [options] Optional Parameters. * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * * @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, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + resetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. + * Resets the primary of the virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * * @param {object} [options] Optional Parameters. * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -31048,7 +33514,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31056,36 +33522,46 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnectionListResult} - * for more information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} 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; + reset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + reset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + reset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * * @param {object} [options] Optional Parameters. * @@ -31094,29 +33570,40 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - resetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + generatevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * * @param {object} [options] Optional Parameters. * @@ -31130,7 +33617,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionResetSharedKey} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31138,202 +33625,128 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionResetSharedKey} for more - * information. + * {String} [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. */ - resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; - resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a virtual network gateway connection in the specified - * resource group. + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. - * - * @param {object} parameters Parameters supplied to the create or update - * virtual network gateway connection operation. - * - * @param {string} [parameters.authorizationKey] The authorizationKey. - * - * @param {object} parameters.virtualNetworkGateway1 The reference to virtual - * network gateway resource. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual - * network gateway resource. + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. * - * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP - * configurations for virtual network gateway. + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' * - * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of - * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' * - * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this - * virtual network gateway. Possible values are: 'PolicyBased' and - * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. * - * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP - * is enabled for this virtual network gateway or not. + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * - * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] - * ActiveActive flag + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The - * reference of the LocalNetworkGateway resource which represents local network - * site having default routes. Assign Null value in case of removing existing - * default site setting. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU - * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU - * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @reject {Error|ServiceError} - The error object. + */ + generateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. * - * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The - * capacity. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] - * The reference of the VpnClientConfiguration resource which represents the - * P2S VpnClient configurations. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] - * The reference of the address space resource which represents Address space - * for P2S VpnClient. + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] - * The radius server address property of the VirtualNetworkGateway resource for - * vpn client connection. + * @param {object} [options] Optional Parameters. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] - * The radius secret property of the VirtualNetworkGateway resource for vpn - * client connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual - * network gateway's BGP speaker settings. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The - * resource GUID property of the VirtualNetworkGateway resource. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique - * read-only string that changes whenever the resource is updated. + * {Promise} A promise is returned. * - * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. + * @resolve {String} - The deserialized result object. * - * @param {string} [parameters.virtualNetworkGateway2.location] Resource - * location. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [parameters.localNetworkGateway2] The reference to local - * network gateway resource. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] - * Local network site address space. + * {String} [result] - The deserialized result object if an error did not occur. * - * @param {array} - * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP - * address of local network gateway. - * - * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network - * gateway's BGP speaker settings. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP - * speaker's ASN. - * - * @param {string} - * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. - * - * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource - * GUID property of the LocalNetworkGateway resource. - * - * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [parameters.localNetworkGateway2.id] Resource ID. - * - * @param {string} [parameters.localNetworkGateway2.location] Resource - * location. - * - * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. - * - * @param {string} parameters.connectionType Gateway connection type. Possible - * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible - * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - * - * @param {number} [parameters.routingWeight] The routing weight. - * - * @param {string} [parameters.sharedKey] The IPSec shared key. - * - * @param {object} [parameters.peer] The reference to peerings resource. - * - * @param {string} [parameters.peer.id] Resource ID. - * - * @param {boolean} [parameters.enableBgp] EnableBgp flag - * - * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable - * policy-based traffic selectors. - * - * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be - * considered by this connection. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. - * - * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute - * Gateway for data forwarding - * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. * - * @param {string} [parameters.location] Resource location. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -31342,195 +33755,21 @@ export interface VirtualNetworkGatewayConnections { * * @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, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network gateway connection in the specified - * resource group. + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. - * - * @param {object} parameters Parameters supplied to the create or update - * virtual network gateway connection operation. - * - * @param {string} [parameters.authorizationKey] The authorizationKey. - * - * @param {object} parameters.virtualNetworkGateway1 The reference to virtual - * network gateway resource. - * - * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual - * network gateway resource. - * - * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP - * configurations for virtual network gateway. - * - * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of - * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' - * - * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this - * virtual network gateway. Possible values are: 'PolicyBased' and - * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' - * - * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP - * is enabled for this virtual network gateway or not. - * - * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] - * ActiveActive flag - * - * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The - * reference of the LocalNetworkGateway resource which represents local network - * site having default routes. Assign Null value in case of removing existing - * default site setting. - * - * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. - * - * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU - * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - * - * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU - * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - * - * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The - * capacity. - * - * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] - * The reference of the VpnClientConfiguration resource which represents the - * P2S VpnClient configurations. - * - * @param {object} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] - * The reference of the address space resource which represents Address space - * for P2S VpnClient. - * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. - * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. - * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. - * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. - * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] - * The radius server address property of the VirtualNetworkGateway resource for - * vpn client connection. - * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] - * The radius secret property of the VirtualNetworkGateway resource for vpn - * client connection. - * - * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual - * network gateway's BGP speaker settings. - * - * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The - * resource GUID property of the VirtualNetworkGateway resource. - * - * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. - * - * @param {string} [parameters.virtualNetworkGateway2.location] Resource - * location. - * - * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. - * - * @param {object} [parameters.localNetworkGateway2] The reference to local - * network gateway resource. - * - * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] - * Local network site address space. - * - * @param {array} - * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP - * address of local network gateway. - * - * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network - * gateway's BGP speaker settings. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP - * speaker's ASN. - * - * @param {string} - * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. - * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. - * - * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource - * GUID property of the LocalNetworkGateway resource. - * - * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [parameters.localNetworkGateway2.id] Resource ID. - * - * @param {string} [parameters.localNetworkGateway2.location] Resource - * location. - * - * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. - * - * @param {string} parameters.connectionType Gateway connection type. Possible - * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible - * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - * - * @param {number} [parameters.routingWeight] The routing weight. - * - * @param {string} [parameters.sharedKey] The IPSec shared key. - * - * @param {object} [parameters.peer] The reference to peerings resource. - * - * @param {string} [parameters.peer.id] Resource ID. - * - * @param {boolean} [parameters.enableBgp] EnableBgp flag - * - * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable - * policy-based traffic selectors. - * - * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be - * considered by this connection. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. - * - * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute - * Gateway for data forwarding - * - * @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 {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -31544,7 +33783,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31552,50 +33791,54 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {String} [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, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network Gateway connection. + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. + * * @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, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network Gateway connection. + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -31606,7 +33849,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {BgpPeerStatusListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31614,29 +33857,26 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpPeerStatusListResult} 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, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a virtual network gateway connection tags. + * Gets a xml format representation for supported vpn devices. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. - * - * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -31645,24 +33885,19 @@ export interface VirtualNetworkGatewayConnections { * * @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, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + supportedVpnDevicesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway connection tags. + * Gets a xml format representation for supported vpn devices. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. - * - * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -31676,7 +33911,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31684,38 +33919,25 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {String} [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. */ - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. - * - * @param {string} parameters.value The virtual network connection shared key - * value. - * - * @param {string} [parameters.id] Resource ID. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -31724,31 +33946,20 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginSetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. - * - * @param {string} parameters.value The virtual network connection shared key - * value. - * - * @param {string} [parameters.id] Resource ID. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -31762,7 +33973,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionSharedKey} - The deserialized result object. + * @resolve {GatewayRouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31770,35 +33981,29 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionSharedKey} for more information. + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} 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. */ - beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; - beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. - * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. + * @param {string} peer The IP address of the peer * * @param {object} [options] Optional Parameters. * @@ -31807,29 +34012,22 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginResetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. - * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. + * @param {string} peer The IP address of the peer * * @param {object} [options] Optional Parameters. * @@ -31843,7 +34041,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionResetSharedKey} - The deserialized result object. + * @resolve {GatewayRouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31851,25 +34049,64 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionResetSharedKey} for more + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} 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. */ - beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; - beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; + getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. + * + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. + * + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. + * + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' * * @param {object} [options] Optional Parameters. * @@ -31878,20 +34115,59 @@ export interface VirtualNetworkGatewayConnections { * * @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>; + setVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. * - * @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} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. + * + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. + * + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. + * + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -31903,7 +34179,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. + * @resolve {VpnClientIPsecParameters} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31911,126 +34187,133 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnectionListResult} - * for more information. + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} 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 - * LocalNetworkGateways - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface LocalNetworkGateways { + setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; + setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a local network gateway in the specified resource group. + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualNetworkGatewayName The virtual network gateway name. * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.localNetworkAddressSpace] Local network site - * address space. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. + * @reject {Error|ServiceError} - The error object. + */ + getVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {string} virtualNetworkGatewayName The virtual network gateway name. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. + * @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. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.id] Resource ID. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.location] Resource location. + * {Promise} A promise is returned. * - * @param {object} [parameters.tags] Resource tags. + * @resolve {VpnClientIPsecParameters} - 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. + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} 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, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** - * Creates or updates a local network gateway in the specified resource group. + * Gets a xml format representation for vpn device configuration script. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection for which the configuration script is generated. * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. + * @param {object} parameters Parameters supplied to the generate vpn device + * script operation. * - * @param {object} [parameters.localNetworkAddressSpace] Local network site - * address space. + * @param {string} [parameters.vendor] The vendor for the vpn device. * - * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {string} [parameters.deviceFamily] The device family for the vpn + * device. * - * @param {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. + * @param {string} [parameters.firmwareVersion] The firmware version for the + * vpn device. * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @returns {Promise} A promise is returned * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. + * @reject {Error|ServiceError} - The error object. + */ + vpnDeviceConfigurationScriptWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets a xml format representation for vpn device configuration script. * - * @param {string} [parameters.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.id] Resource ID. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection for which the configuration script is generated. * - * @param {string} [parameters.location] Resource location. + * @param {object} parameters Parameters supplied to the generate vpn device + * script operation. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [parameters.vendor] The vendor for the vpn device. + * + * @param {string} [parameters.deviceFamily] The device family for the vpn + * device. + * + * @param {string} [parameters.firmwareVersion] The firmware version for the + * vpn device. * * @param {object} [options] Optional Parameters. * @@ -32044,7 +34327,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32052,26 +34335,124 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {String} [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, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, callback: ServiceCallback): void; + vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified local network gateway in a resource group. + * Creates or updates a virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network + * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. + * + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. + * + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' + * + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' + * + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. + * + * @param {boolean} [parameters.activeActive] ActiveActive flag + * + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. + * + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * + * @param {object} [parameters.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + * + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' + * + * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' + * + * @param {number} [parameters.sku.capacity] The capacity. + * + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. + * + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn + * client connection. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. + * + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. + * + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGateway resource. + * + * @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 @@ -32079,20 +34460,119 @@ export interface LocalNetworkGateways { * * @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, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified local network gateway in a resource group. + * Creates or updates a virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network + * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. + * + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. + * + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' + * + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' + * + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. + * + * @param {boolean} [parameters.activeActive] ActiveActive flag + * + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. + * + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * + * @param {object} [parameters.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + * + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' + * + * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' + * + * @param {number} [parameters.sku.capacity] The capacity. + * + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. + * + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn + * client connection. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. + * + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. + * + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGateway resource. + * + * @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 @@ -32105,7 +34585,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32113,24 +34593,24 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} 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, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified local network gateway. + * Deletes the specified virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network + * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * * @param {object} [options] Optional Parameters. @@ -32144,14 +34624,14 @@ export interface LocalNetworkGateways { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified local network gateway. + * Deletes the specified virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network + * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * * @param {object} [options] Optional Parameters. @@ -32180,20 +34660,20 @@ export interface LocalNetworkGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a local network gateway tags. + * Updates a virtual network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network + * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to update local network + * @param {object} parameters Parameters supplied to update virtual network * gateway tags. * * @param {object} [parameters.tags] Resource tags. @@ -32205,21 +34685,21 @@ export interface LocalNetworkGateways { * * @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, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a local network gateway tags. + * Updates a virtual network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network + * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to update local network + * @param {object} parameters Parameters supplied to update virtual network * gateway tags. * * @param {object} [parameters.tags] Resource tags. @@ -32236,7 +34716,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32244,43 +34724,57 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} 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, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the local network gateways in a resource group. + * Resets the primary of the virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * * @param {object} [options] Optional Parameters. * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * * @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, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginResetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the local network gateways in a resource group. + * Resets the primary of the virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * * @param {object} [options] Optional Parameters. * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -32291,7 +34785,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32299,55 +34793,990 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGatewayListResult} for more - * information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} 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; + beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a local network gateway in the specified resource group. + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network + * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * + * @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. + */ + beginGeneratevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * + * @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 {String} - 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. + * + * {String} [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. + */ + beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * + * @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. + */ + beginGenerateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * + * @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 {String} - 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. + * + * {String} [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. + */ + beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @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. + */ + beginGetVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @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 {String} - 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. + * + * {String} [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. + */ + beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. + * + * @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. + */ + beginGetBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. + * + * @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 {BgpPeerStatusListResult} - 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. + * + * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpPeerStatusListResult} 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. + */ + beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @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. + */ + beginGetLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @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 {GatewayRouteListResult} - 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. + * + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} 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. + */ + beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {string} peer The IP address of the peer + * + * @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. + */ + beginGetAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {string} peer The IP address of the peer + * + * @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 {GatewayRouteListResult} - 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. + * + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} 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. + */ + beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; + beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. + * + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. + * + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. + * + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * + * @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. + */ + beginSetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. + * + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. + * + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. + * + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * + * @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 {VpnClientIPsecParameters} - 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. + * + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} 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. + */ + beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; + beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * + * @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. + */ + beginGetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * + * @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 {VpnClientIPsecParameters} - 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. + * + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} 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. + */ + beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all virtual network gateways by 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 virtual network gateways by 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 {object} [parameters.localNetworkAddressSpace] Local network site - * address space. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {array} [parameters.localNetworkAddressSpace.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 {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. + * {Promise} A promise is returned. * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. + * @resolve {VirtualNetworkGatewayListResult} - The deserialized result object. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListResult} 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; + + + /** + * Gets all the connections in a virtual network gateway. + * + * @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. + */ + listConnectionsNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the connections in a virtual network gateway. + * + * @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 {VirtualNetworkGatewayListConnectionsResult} - 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. + * + * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListConnectionsResult} + * 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. + */ + listConnectionsNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listConnectionsNext(nextPageLink: string, callback: ServiceCallback): void; + listConnectionsNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VirtualNetworkGatewayConnections + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworkGatewayConnections { + + + /** + * Creates or updates a virtual network gateway connection in the specified + * resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network gateway connection operation. + * + * @param {string} [parameters.authorizationKey] The authorizationKey. + * + * @param {object} parameters.virtualNetworkGateway1 The reference to virtual + * network gateway resource. + * + * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual + * network gateway resource. + * + * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP + * configurations for virtual network gateway. + * + * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of + * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. + * Possible values include: 'Vpn', 'ExpressRoute' + * + * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this + * virtual network gateway. Possible values are: 'PolicyBased' and + * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' + * + * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP + * is enabled for this virtual network gateway or not. + * + * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] + * ActiveActive flag + * + * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The + * reference of the LocalNetworkGateway resource which represents local network + * site having default routes. Assign Null value in case of removing existing + * default site setting. + * + * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + * + * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU + * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * + * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU + * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * + * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The + * capacity. + * + * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] + * The reference of the VpnClientConfiguration resource which represents the + * P2S VpnClient configurations. + * + * @param {object} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] + * The reference of the address space resource which represents Address space + * for P2S VpnClient. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. + * + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] + * The radius server address property of the VirtualNetworkGateway resource for + * vpn client connection. + * + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] + * The radius secret property of the VirtualNetworkGateway resource for vpn + * client connection. + * + * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual + * network gateway's BGP speaker settings. + * + * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The + * resource GUID property of the VirtualNetworkGateway resource. + * + * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. + * + * @param {string} [parameters.virtualNetworkGateway2.location] Resource + * location. + * + * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. + * + * @param {object} [parameters.localNetworkGateway2] The reference to local + * network gateway resource. + * + * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] + * Local network site address space. + * + * @param {array} + * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP + * address of local network gateway. + * + * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network + * gateway's BGP speaker settings. + * + * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP + * speaker's ASN. + * + * @param {string} + * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The + * weight added to routes learned from this BGP speaker. + * + * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource + * GUID property of the LocalNetworkGateway resource. + * + * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.localNetworkGateway2.id] Resource ID. + * + * @param {string} [parameters.localNetworkGateway2.location] Resource + * location. + * + * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. + * + * @param {string} parameters.connectionType Gateway connection type. Possible + * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible + * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + * + * @param {number} [parameters.routingWeight] The routing weight. + * + * @param {string} [parameters.sharedKey] The IPSec shared key. + * + * @param {object} [parameters.peer] The reference to peerings resource. + * + * @param {string} [parameters.peer.id] Resource ID. + * + * @param {boolean} [parameters.enableBgp] EnableBgp flag + * + * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable + * policy-based traffic selectors. + * + * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be + * considered by this connection. * * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. + * VirtualNetworkGatewayConnection resource. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute + * Gateway for data forwarding + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * * @param {string} [parameters.id] Resource ID. * @@ -32362,54 +35791,257 @@ export interface LocalNetworkGateways { * * @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, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a local network gateway in the specified resource group. + * Creates or updates a virtual network gateway connection in the specified + * resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. + * @param {object} parameters Parameters supplied to the create or update + * virtual network gateway connection operation. * - * @param {object} [parameters.localNetworkAddressSpace] Local network site - * address space. + * @param {string} [parameters.authorizationKey] The authorizationKey. * - * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {object} parameters.virtualNetworkGateway1 The reference to virtual + * network gateway resource. * - * @param {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. + * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual + * network gateway resource. * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. + * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP + * configurations for virtual network gateway. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of + * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. + * Possible values include: 'Vpn', 'ExpressRoute' + * + * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this + * virtual network gateway. Possible values are: 'PolicyBased' and + * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' + * + * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP + * is enabled for this virtual network gateway or not. + * + * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] + * ActiveActive flag + * + * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The + * reference of the LocalNetworkGateway resource which represents local network + * site having default routes. Assign Null value in case of removing existing + * default site setting. + * + * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + * + * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU + * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * + * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU + * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * + * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The + * capacity. + * + * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] + * The reference of the VpnClientConfiguration resource which represents the + * P2S VpnClient configurations. + * + * @param {object} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] + * The reference of the address space resource which represents Address space + * for P2S VpnClient. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. + * + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] + * The radius server address property of the VirtualNetworkGateway resource for + * vpn client connection. + * + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] + * The radius secret property of the VirtualNetworkGateway resource for vpn + * client connection. + * + * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual + * network gateway's BGP speaker settings. + * + * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The + * resource GUID property of the VirtualNetworkGateway resource. + * + * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. + * + * @param {string} [parameters.virtualNetworkGateway2.location] Resource + * location. + * + * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. + * + * @param {object} [parameters.localNetworkGateway2] The reference to local + * network gateway resource. + * + * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] + * Local network site address space. + * + * @param {array} + * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP + * address of local network gateway. + * + * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network + * gateway's BGP speaker settings. + * + * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP + * speaker's ASN. + * + * @param {string} + * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The + * weight added to routes learned from this BGP speaker. + * + * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource + * GUID property of the LocalNetworkGateway resource. + * + * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.localNetworkGateway2.id] Resource ID. + * + * @param {string} [parameters.localNetworkGateway2.location] Resource + * location. + * + * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. + * + * @param {string} parameters.connectionType Gateway connection type. Possible + * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible + * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + * + * @param {number} [parameters.routingWeight] The routing weight. + * + * @param {string} [parameters.sharedKey] The IPSec shared key. + * + * @param {object} [parameters.peer] The reference to peerings resource. + * + * @param {string} [parameters.peer.id] Resource ID. + * + * @param {boolean} [parameters.enableBgp] EnableBgp flag + * + * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable + * policy-based traffic selectors. + * + * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be + * considered by this connection. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGatewayConnection resource. + * + * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute + * Gateway for data forwarding + * + * @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 {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 {VirtualNetworkGatewayConnection} - 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. + * + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} 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, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the specified virtual network gateway connection by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.id] Resource ID. + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified virtual network gateway connection by resource group. * - * @param {string} [parameters.location] Resource location. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * @@ -32423,7 +36055,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32431,25 +36063,26 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} 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, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified local network gateway. + * Deletes the specified virtual network Gateway connection. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * @@ -32462,15 +36095,15 @@ export interface LocalNetworkGateways { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified local network gateway. + * Deletes the specified virtual network Gateway connection. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * @@ -32498,21 +36131,21 @@ export interface LocalNetworkGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a local network gateway tags. + * Updates a virtual network gateway connection tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {object} parameters Parameters supplied to update local network - * gateway tags. + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. * * @param {object} [parameters.tags] Resource tags. * @@ -32523,22 +36156,22 @@ export interface LocalNetworkGateways { * * @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, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a local network gateway tags. + * Updates a virtual network gateway connection tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {object} parameters Parameters supplied to update local network - * gateway tags. + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. * * @param {object} [parameters.tags] Resource tags. * @@ -32554,7 +36187,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32562,23 +36195,38 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} 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, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the local network gateways in a resource group. + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. + * + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. + * + * @param {string} parameters.value The virtual network connection shared key + * value. + * + * @param {string} [parameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -32587,17 +36235,31 @@ export interface LocalNetworkGateways { * * @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>; + setSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the local network gateways in a resource group. + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. + * + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. + * + * @param {string} parameters.value The virtual network connection shared key + * value. + * + * @param {string} [parameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -32611,7 +36273,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. + * @resolve {ConnectionSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32619,34 +36281,27 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGatewayListResult} for more - * information. + * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionSharedKey} 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 - * VirtualWANs - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualWANs { + setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; + setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of a VirtualWAN. + * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + * information about the specified virtual network gateway connection shared + * key through Network resource provider. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being retrieved. + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection shared key name. * * @param {object} [options] Optional Parameters. * @@ -32655,18 +36310,21 @@ export interface VirtualWANs { * * @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, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a VirtualWAN. + * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + * information about the specified virtual network gateway connection shared + * key through Network resource provider. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being retrieved. + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection shared key name. * * @param {object} [options] Optional Parameters. * @@ -32680,7 +36338,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {ConnectionSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32688,42 +36346,23 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionSharedKey} 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, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. - * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. - * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. - * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [wANParameters.id] Resource ID. - * - * @param {string} [wANParameters.location] Resource location. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -32732,36 +36371,17 @@ export interface VirtualWANs { * * @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, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. - * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. - * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. - * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [wANParameters.id] Resource ID. - * - * @param {string} [wANParameters.location] Resource location. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -32775,7 +36395,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32783,28 +36403,36 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnectionListResult} + * 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, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, 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 a VirtualWAN tags. + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being updated. + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. * * @param {object} [options] Optional Parameters. * @@ -32813,22 +36441,29 @@ export interface VirtualWANs { * * @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, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + resetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a VirtualWAN tags. + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being updated. + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. * * @param {object} [options] Optional Parameters. * @@ -32842,7 +36477,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {ConnectionResetSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32850,80 +36485,202 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionResetSharedKey} 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, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; + resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VirtualWAN. + * Creates or updates a virtual network gateway connection in the specified + * resource group. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters supplied to the create or update + * virtual network gateway connection operation. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.authorizationKey] The authorizationKey. * - * @returns {Promise} A promise is returned + * @param {object} parameters.virtualNetworkGateway1 The reference to virtual + * network gateway resource. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual + * network gateway resource. * - * @reject {Error|ServiceError} - The error object. - */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes a VirtualWAN. + * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP + * configurations for virtual network gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of + * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. + * Possible values include: 'Vpn', 'ExpressRoute' * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this + * virtual network gateway. Possible values are: 'PolicyBased' and + * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' * - * @param {object} [options] Optional Parameters. + * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP + * is enabled for this virtual network gateway or not. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] + * ActiveActive flag * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The + * reference of the LocalNetworkGateway resource which represents local network + * site having default routes. Assign Null value in case of removing existing + * default site setting. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. * - * {Promise} A promise is returned. + * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU + * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' * - * @resolve {null} - The deserialized result object. + * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU + * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' * - * @reject {Error|ServiceError} - The error object. + * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The + * capacity. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] + * The reference of the VpnClientConfiguration resource which represents the + * P2S VpnClient configurations. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] + * The reference of the address space resource which represents Address space + * for P2S VpnClient. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - deleteMethod(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Lists all the VirtualWANs in a resource group. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. + * + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] + * The radius server address property of the VirtualNetworkGateway resource for + * vpn client connection. + * + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] + * The radius secret property of the VirtualNetworkGateway resource for vpn + * client connection. + * + * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual + * network gateway's BGP speaker settings. + * + * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The + * resource GUID property of the VirtualNetworkGateway resource. + * + * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. + * + * @param {string} [parameters.virtualNetworkGateway2.location] Resource + * location. + * + * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. + * + * @param {object} [parameters.localNetworkGateway2] The reference to local + * network gateway resource. + * + * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] + * Local network site address space. + * + * @param {array} + * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP + * address of local network gateway. + * + * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network + * gateway's BGP speaker settings. + * + * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP + * speaker's ASN. + * + * @param {string} + * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The + * weight added to routes learned from this BGP speaker. + * + * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource + * GUID property of the LocalNetworkGateway resource. + * + * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.localNetworkGateway2.id] Resource ID. + * + * @param {string} [parameters.localNetworkGateway2.location] Resource + * location. + * + * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. + * + * @param {string} parameters.connectionType Gateway connection type. Possible + * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible + * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + * + * @param {number} [parameters.routingWeight] The routing weight. + * + * @param {string} [parameters.sharedKey] The IPSec shared key. + * + * @param {object} [parameters.peer] The reference to peerings resource. + * + * @param {string} [parameters.peer.id] Resource ID. + * + * @param {boolean} [parameters.enableBgp] EnableBgp flag + * + * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable + * policy-based traffic selectors. + * + * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be + * considered by this connection. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGatewayConnection resource. + * + * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute + * Gateway for data forwarding + * + * @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. * @@ -32932,162 +36689,195 @@ export interface VirtualWANs { * * @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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualWANs in a resource group. + * Creates or updates a virtual network gateway connection in the specified + * resource group. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options] Optional Parameters. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * virtual network gateway connection operation. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [parameters.authorizationKey] The authorizationKey. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} parameters.virtualNetworkGateway1 The reference to virtual + * network gateway resource. * - * {Promise} A promise is returned. + * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual + * network gateway resource. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP + * configurations for virtual network gateway. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of + * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. + * Possible values include: 'Vpn', 'ExpressRoute' * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this + * virtual network gateway. Possible values are: 'PolicyBased' and + * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP + * is enabled for this virtual network gateway or not. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] + * ActiveActive flag * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The + * reference of the LocalNetworkGateway resource which represents local network + * site having default routes. Assign Null value in case of removing existing + * default site setting. * - * {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; - - - /** - * Lists all the VirtualWANs in a subscription. + * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU + * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU + * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' * - * @returns {Promise} A promise is returned + * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The + * capacity. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] + * The reference of the VpnClientConfiguration resource which represents the + * P2S VpnClient configurations. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Lists all the VirtualWANs in a subscription. + * @param {object} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] + * The reference of the address space resource which represents Address space + * for P2S VpnClient. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. * - * {Promise} A promise is returned. + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] + * The radius server address property of the VirtualNetworkGateway resource for + * vpn client connection. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] + * The radius secret property of the VirtualNetworkGateway resource for vpn + * client connection. * - * @reject {Error|ServiceError} - The error object. + * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual + * network gateway's BGP speaker settings. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The + * resource GUID property of the VirtualNetworkGateway resource. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique + * read-only string that changes whenever the resource is updated. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.virtualNetworkGateway2.location] Resource + * location. * - * {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; - - - /** - * Creates a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. + * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {object} [parameters.localNetworkGateway2] The reference to local + * network gateway resource. * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. + * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] + * Local network site address space. * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. + * @param {array} + * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. + * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP + * address of local network gateway. * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' + * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network + * gateway's BGP speaker settings. * - * @param {string} [wANParameters.id] Resource ID. + * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP + * speaker's ASN. * - * @param {string} [wANParameters.location] Resource location. + * @param {string} + * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The + * weight added to routes learned from this BGP speaker. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource + * GUID property of the LocalNetworkGateway resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.localNetworkGateway2.id] Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.localNetworkGateway2.location] Resource + * location. * - * @reject {Error|ServiceError} - The error object. - */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. + * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} parameters.connectionType Gateway connection type. Possible + * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible + * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. + * @param {number} [parameters.routingWeight] The routing weight. * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. + * @param {string} [parameters.sharedKey] The IPSec shared key. * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. + * @param {object} [parameters.peer] The reference to peerings resource. * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' + * @param {string} [parameters.peer.id] Resource ID. * - * @param {string} [wANParameters.id] Resource ID. + * @param {boolean} [parameters.enableBgp] EnableBgp flag * - * @param {string} [wANParameters.location] Resource location. + * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable + * policy-based traffic selectors. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be + * considered by this connection. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGatewayConnection resource. + * + * @param {boolean} [parameters.expressRouteGatewayBypass] Bypass ExpressRoute + * Gateway for data forwarding + * + * @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. * @@ -33101,7 +36891,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33109,28 +36899,26 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} 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, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a VirtualWAN tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being updated. + * Deletes the specified virtual network Gateway connection. * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * @@ -33139,22 +36927,19 @@ export interface VirtualWANs { * * @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, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a VirtualWAN tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being updated. + * Deletes the specified virtual network Gateway connection. * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * @@ -33168,7 +36953,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33176,24 +36961,29 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} 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. */ - beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VirtualWAN. + * Updates a virtual network gateway connection tags. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. + * + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33202,18 +36992,24 @@ export interface VirtualWANs { * * @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, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VirtualWAN. + * Updates a virtual network gateway connection tags. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. + * + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33227,7 +37023,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33235,22 +37031,38 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} 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, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualWANs in a resource group. + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. + * + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. + * + * @param {string} parameters.value The virtual network connection shared key + * value. + * + * @param {string} [parameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -33259,17 +37071,31 @@ export interface VirtualWANs { * * @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>; + beginSetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualWANs in a resource group. + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. + * + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. + * + * @param {string} parameters.value The virtual network connection shared key + * value. + * + * @param {string} [parameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -33283,7 +37109,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @resolve {ConnectionSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33291,23 +37117,35 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionSharedKey} 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; + beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; + beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualWANs in a subscription. + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. + * + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. + * + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. * * @param {object} [options] Optional Parameters. * @@ -33316,17 +37154,29 @@ export interface VirtualWANs { * * @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>; + beginResetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualWANs in a subscription. + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. + * + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. + * + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. * * @param {object} [options] Optional Parameters. * @@ -33340,7 +37190,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @resolve {ConnectionResetSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33348,33 +37198,25 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionResetSharedKey} 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 - * VpnSites - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VpnSites { + beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; + beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of a VPNsite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @param {string} vpnSiteName The name of the VpnSite being retrieved. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -33383,18 +37225,18 @@ export interface VpnSites { * * @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, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a VPNsite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @param {string} vpnSiteName The name of the VpnSite being retrieved. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -33408,7 +37250,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33416,77 +37258,70 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnectionListResult} + * 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, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, vpnSiteName: 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 + * LocalNetworkGateways + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LocalNetworkGateways { /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. + * Creates or updates a local network gateway in the specified resource group. * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. + * @param {string} resourceGroupName The name of the resource group. * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway resource. * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [parameters.id] Resource ID. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33495,71 +37330,54 @@ export interface VpnSites { * * @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, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties + * Creates or updates a local network gateway in the specified resource group. * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway resource. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [parameters.location] Resource location. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33573,7 +37391,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33581,29 +37399,25 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} 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, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates VpnSite tags. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * Gets the specified local network gateway in a resource group. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -33612,23 +37426,19 @@ export interface VpnSites { * * @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, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VpnSite tags. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * Gets the specified local network gateway in a resource group. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -33642,7 +37452,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33650,24 +37460,25 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} 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, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VpnSite. + * Deletes the specified local network gateway. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -33680,14 +37491,15 @@ export interface VpnSites { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VpnSite. + * Deletes the specified local network gateway. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -33715,15 +37527,23 @@ export interface VpnSites { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the vpnSites in a resource group. + * Updates a local network gateway tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} localNetworkGatewayName The name of the local network + * gateway. + * + * @param {object} parameters Parameters supplied to update local network + * gateway tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33732,16 +37552,24 @@ export interface VpnSites { * * @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, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the vpnSites in a resource group. + * Updates a local network gateway tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} localNetworkGatewayName The name of the local network + * gateway. + * + * @param {object} parameters Parameters supplied to update local network + * gateway tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33755,7 +37583,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33763,20 +37591,22 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} 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, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VpnSites in a subscription. + * Gets all the local network gateways in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -33785,14 +37615,16 @@ export interface VpnSites { * * @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>; /** - * Lists all the VpnSites in a subscription. + * Gets all the local network gateways in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -33806,7 +37638,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33814,77 +37646,61 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGatewayListResult} 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; /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties + * Creates or updates a local network gateway in the specified resource group. * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway resource. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [parameters.location] Resource location. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33893,71 +37709,54 @@ export interface VpnSites { * * @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, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties + * Creates or updates a local network gateway in the specified resource group. * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway resource. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [parameters.location] Resource location. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33971,7 +37770,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33979,29 +37778,25 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} 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, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates VpnSite tags. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * Deletes the specified local network gateway. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -34010,23 +37805,19 @@ export interface VpnSites { * * @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, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VpnSite tags. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * Deletes the specified local network gateway. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -34040,7 +37831,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34048,24 +37839,29 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} 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. */ - beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VpnSite. + * Updates a local network gateway tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. + * + * @param {object} parameters Parameters supplied to update local network + * gateway tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34074,18 +37870,24 @@ export interface VpnSites { * * @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, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VpnSite. + * Updates a local network gateway tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. + * + * @param {object} parameters Parameters supplied to update local network + * gateway tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34099,7 +37901,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34107,19 +37909,20 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} 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, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the vpnSites in a resource group. + * Gets all the local network gateways in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -34131,14 +37934,14 @@ export interface VpnSites { * * @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>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the vpnSites in a resource group. + * Gets all the local network gateways in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -34155,7 +37958,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34163,23 +37966,34 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGatewayListResult} 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; + 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 + * VirtualWANs + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualWANs { /** - * Lists all the VpnSites in a subscription. + * Retrieves the details of a VirtualWAN. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualWan. + * + * @param {string} virtualWANName The name of the VirtualWAN being retrieved. * * @param {object} [options] Optional Parameters. * @@ -34188,17 +38002,18 @@ export interface VpnSites { * * @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, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnSites in a subscription. + * Retrieves the details of a VirtualWAN. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualWan. + * + * @param {string} virtualWANName The name of the VirtualWAN being retrieved. * * @param {object} [options] Optional Parameters. * @@ -34212,7 +38027,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34220,44 +38035,42 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} 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 - * VpnSitesConfiguration - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VpnSitesConfiguration { + get(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} resourceGroupName The resource group name. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [wANParameters.id] Resource ID. + * + * @param {string} [wANParameters.location] Resource location. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34266,29 +38079,36 @@ export interface VpnSitesConfiguration { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - downloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} resourceGroupName The resource group name. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [wANParameters.id] Resource ID. + * + * @param {string} [wANParameters.location] Resource location. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34302,7 +38122,7 @@ export interface VpnSitesConfiguration { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34310,34 +38130,28 @@ export interface VpnSitesConfiguration { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} 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. */ - download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; - download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. - * - * @param {string} resourceGroupName The resource group name. + * Updates a VirtualWAN tags. * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. + * @param {string} virtualWANName The name of the VirtualWAN being updated. * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34346,29 +38160,22 @@ export interface VpnSitesConfiguration { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDownloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. - * - * @param {string} resourceGroupName The resource group name. + * Updates a VirtualWAN tags. * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. + * @param {string} virtualWANName The name of the VirtualWAN being updated. * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34382,7 +38189,7 @@ export interface VpnSitesConfiguration { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34390,32 +38197,24 @@ export interface VpnSitesConfiguration { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} 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. */ - beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; - beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VirtualHubs - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualHubs { + updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of a VirtualHub. + * Deletes a VirtualWAN. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -34424,18 +38223,18 @@ export interface VirtualHubs { * * @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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a VirtualHub. + * Deletes a VirtualWAN. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -34449,7 +38248,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34457,49 +38256,21 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} 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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. - * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs - * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. - * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. - * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. - * - * @param {string} [virtualHubParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - * - * @param {string} [virtualHubParameters.id] Resource ID. - * - * @param {string} [virtualHubParameters.location] Resource location. + * Lists all the VirtualWANs in a resource group. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * * @param {object} [options] Optional Parameters. * @@ -34508,43 +38279,16 @@ export interface VirtualHubs { * * @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, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. - * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs - * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. - * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. - * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. - * - * @param {string} [virtualHubParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - * - * @param {string} [virtualHubParameters.id] Resource ID. - * - * @param {string} [virtualHubParameters.location] Resource location. + * Lists all the VirtualWANs in a resource group. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * * @param {object} [options] Optional Parameters. * @@ -34558,7 +38302,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34566,29 +38310,20 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} 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, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, 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; /** - * Updates VirtualHub tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. - * - * @param {object} [virtualHubParameters.tags] Resource tags. + * Lists all the VirtualWANs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -34597,23 +38332,14 @@ export interface VirtualHubs { * * @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, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VirtualHub tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. - * - * @param {object} [virtualHubParameters.tags] Resource tags. + * Lists all the VirtualWANs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -34627,7 +38353,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34635,24 +38361,42 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} 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, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, 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; /** - * Deletes a VirtualHub. + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. + * + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. + * + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. + * + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [wANParameters.id] Resource ID. + * + * @param {string} [wANParameters.location] Resource location. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34661,18 +38405,36 @@ export interface VirtualHubs { * * @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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VirtualHub. + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. + * + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. + * + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. + * + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [wANParameters.id] Resource ID. + * + * @param {string} [wANParameters.location] Resource location. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34686,7 +38448,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34694,21 +38456,28 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} 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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualHubs in a resource group. + * Updates a VirtualWAN tags. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VirtualWan. + * + * @param {string} virtualWANName The name of the VirtualWAN being updated. + * + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34717,16 +38486,22 @@ export interface VirtualHubs { * * @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>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualHubs in a resource group. + * Updates a VirtualWAN tags. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VirtualWan. + * + * @param {string} virtualWANName The name of the VirtualWAN being updated. + * + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34740,7 +38515,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34748,20 +38523,24 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} for more information. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} 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; + beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualHubs in a subscription. + * Deletes a VirtualWAN. + * + * @param {string} resourceGroupName The resource group name of the VirtualWan. + * + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -34770,14 +38549,18 @@ export interface VirtualHubs { * * @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>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualHubs in a subscription. + * Deletes a VirtualWAN. + * + * @param {string} resourceGroupName The resource group name of the VirtualWan. + * + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -34791,7 +38574,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34799,49 +38582,22 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} 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. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. - * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs - * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. - * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. - * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. - * - * @param {string} [virtualHubParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - * - * @param {string} [virtualHubParameters.id] Resource ID. - * - * @param {string} [virtualHubParameters.location] Resource location. + * Lists all the VirtualWANs in a resource group. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -34850,43 +38606,17 @@ export interface VirtualHubs { * * @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, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. - * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs - * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. - * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. - * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. - * - * @param {string} [virtualHubParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - * - * @param {string} [virtualHubParameters.id] Resource ID. - * - * @param {string} [virtualHubParameters.location] Resource location. + * Lists all the VirtualWANs in a resource group. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -34900,7 +38630,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34908,29 +38638,23 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} 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, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, 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; /** - * Updates VirtualHub tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. + * Lists all the VirtualWANs in a subscription. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -34939,23 +38663,17 @@ export interface VirtualHubs { * * @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, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VirtualHub tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. - * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. + * Lists all the VirtualWANs in a subscription. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -34969,7 +38687,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34977,24 +38695,33 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} 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, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: 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 + * VpnSites + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VpnSites { /** - * Deletes a VirtualHub. + * Retrieves the details of a VPNsite. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} vpnSiteName The name of the VpnSite being retrieved. * * @param {object} [options] Optional Parameters. * @@ -35003,18 +38730,18 @@ export interface VirtualHubs { * * @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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VirtualHub. + * Retrieves the details of a VPNsite. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} vpnSiteName The name of the VpnSite being retrieved. * * @param {object} [options] Optional Parameters. * @@ -35028,7 +38755,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35036,79 +38763,77 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} 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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualHubs in a resource group. + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {object} [options] Optional Parameters. + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. * - * @returns {Promise} A promise is returned + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. * - * @reject {Error|ServiceError} - The error object. - */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Lists all the VirtualHubs in a resource group. + * @param {object} [vpnSiteParameters.deviceProperties] The device properties * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. * - * @param {object} [options] Optional Parameters. + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. * - * {Promise} A promise is returned. + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. * - * @reject {Error|ServiceError} - The error object. + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} for more information. + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' * - * {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; - - - /** - * Lists all the VirtualHubs in a subscription. + * @param {string} [vpnSiteParameters.id] Resource ID. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} [vpnSiteParameters.location] Resource location. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35117,17 +38842,71 @@ export interface VirtualHubs { * * @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, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualHubs in a subscription. + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnSite. + * + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. + * + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. + * + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs + * + * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. + * + * @param {object} [vpnSiteParameters.deviceProperties] The device properties + * + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. + * + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. + * + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. + * + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. + * + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. + * + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. + * + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. + * + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnSiteParameters.id] Resource ID. + * + * @param {string} [vpnSiteParameters.location] Resource location. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35141,7 +38920,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35149,35 +38928,29 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} for more information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} 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 - * HubVirtualNetworkConnections - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface HubVirtualNetworkConnections { + createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of a HubVirtualNetworkConnection. + * Updates VpnSite tags. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} vpnSiteName The name of the VpnSite being updated. * - * @param {string} connectionName The name of the vpn connection. + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35186,20 +38959,23 @@ export interface HubVirtualNetworkConnections { * * @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, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a HubVirtualNetworkConnection. + * Updates VpnSite tags. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} vpnSiteName The name of the VpnSite being updated. * - * @param {string} connectionName The name of the vpn connection. + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35213,7 +38989,7 @@ export interface HubVirtualNetworkConnections { * * {Promise} A promise is returned. * - * @resolve {HubVirtualNetworkConnection} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35221,25 +38997,24 @@ export interface HubVirtualNetworkConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {HubVirtualNetworkConnection} [result] - The deserialized result object if an error did not occur. - * See {@link HubVirtualNetworkConnection} for more - * information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} 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, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualHubName: string, connectionName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualHubName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Deletes a VpnSite. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -35248,18 +39023,18 @@ export interface HubVirtualNetworkConnections { * * @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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Deletes a VpnSite. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -35273,7 +39048,7 @@ export interface HubVirtualNetworkConnections { * * {Promise} A promise is returned. * - * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35281,24 +39056,21 @@ export interface HubVirtualNetworkConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListHubVirtualNetworkConnectionsResult} 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. */ - list(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Lists all the vpnSites in a resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnSite. * * @param {object} [options] Optional Parameters. * @@ -35307,17 +39079,16 @@ export interface HubVirtualNetworkConnections { * * @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>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Lists all the vpnSites in a resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnSite. * * @param {object} [options] Optional Parameters. * @@ -35331,7 +39102,7 @@ export interface HubVirtualNetworkConnections { * * {Promise} A promise is returned. * - * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35339,34 +39110,20 @@ export interface HubVirtualNetworkConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListHubVirtualNetworkConnectionsResult} for - * more information. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} 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 - * VpnGateways - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VpnGateways { + 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; /** - * Retrieves the details of a virtual wan vpn gateway. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. + * Lists all the VpnSites in a subscription. * * @param {object} [options] Optional Parameters. * @@ -35375,18 +39132,14 @@ export interface VpnGateways { * * @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, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a virtual wan vpn gateway. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. + * Lists all the VpnSites in a subscription. * * @param {object} [options] Optional Parameters. * @@ -35400,7 +39153,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35408,67 +39161,77 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} 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, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, gatewayName: 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; /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} gatewayName The name of the gateway. + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. + * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. + * @param {object} [vpnSiteParameters.deviceProperties] The device properties * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. * - * @param {string} [vpnGatewayParameters.location] Resource location. + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnSiteParameters.id] Resource ID. + * + * @param {string} [vpnSiteParameters.location] Resource location. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35477,61 +39240,71 @@ export interface VpnGateways { * * @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, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} gatewayName The name of the gateway. + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. + * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. + * @param {object} [vpnSiteParameters.deviceProperties] The device properties * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. + * + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. + * + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. + * + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * @param {string} [vpnSiteParameters.id] Resource ID. * - * @param {string} [vpnGatewayParameters.location] Resource location. + * @param {string} [vpnSiteParameters.location] Resource location. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35545,7 +39318,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35553,29 +39326,29 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} 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, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates virtual wan vpn gateway tags. + * Updates VpnSite tags. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} gatewayName The name of the gateway. + * @param {string} vpnSiteName The name of the VpnSite being updated. * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35584,23 +39357,23 @@ export interface VpnGateways { * * @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, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates virtual wan vpn gateway tags. + * Updates VpnSite tags. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} gatewayName The name of the gateway. + * @param {string} vpnSiteName The name of the VpnSite being updated. * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35614,7 +39387,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35622,24 +39395,24 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} 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, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a virtual wan vpn gateway. + * Deletes a VpnSite. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} gatewayName The name of the gateway. + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -35652,14 +39425,14 @@ export interface VpnGateways { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a virtual wan vpn gateway. + * Deletes a VpnSite. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} gatewayName The name of the gateway. + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -35687,15 +39460,16 @@ export interface VpnGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VpnGateways in a resource group. + * Lists all the vpnSites in a resource group. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -35704,16 +39478,17 @@ export interface VpnGateways { * * @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>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a resource group. + * Lists all the vpnSites in a resource group. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -35727,7 +39502,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35735,20 +39510,23 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} for more information. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} 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; + 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; /** - * Lists all the VpnGateways in a subscription. + * Lists all the VpnSites in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -35757,14 +39535,17 @@ export interface VpnGateways { * * @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>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a subscription. + * Lists all the VpnSites in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -35778,7 +39559,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35786,67 +39567,124 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} for more information. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} 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; + 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 + * VpnSitesConfiguration + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VpnSitesConfiguration { /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. + * @param {object} request Parameters supplied to download vpn-sites + * configuration. * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. + * @param {object} [options] Optional Parameters. * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. + * @returns {Promise} A promise is returned * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @reject {Error|ServiceError} - The error object. + */ + downloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} resourceGroupName The resource group name. * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. + * @param {object} request Parameters supplied to download vpn-sites + * configuration. * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * - * @param {string} [vpnGatewayParameters.location] Resource location. + * @param {object} [options] Optional Parameters. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @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. + */ + download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; + download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. + * + * @param {string} resourceGroupName The resource group name. + * + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. + * + * @param {object} request Parameters supplied to download vpn-sites + * configuration. + * + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. + * + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * * @param {object} [options] Optional Parameters. * @@ -35855,61 +39693,96 @@ export interface VpnGateways { * * @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, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDownloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. + * @param {object} request Parameters supplied to download vpn-sites + * configuration. * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. + * @param {object} [options] Optional Parameters. * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. + * {Promise} A promise is returned. * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @resolve {null} - The deserialized result object. * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. + * @reject {Error|ServiceError} - The error object. * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * {null} [result] - The deserialized result object if an error did not occur. * - * @param {string} [vpnGatewayParameters.location] Resource location. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; + beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VirtualHubs + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualHubs { + + + /** + * Retrieves the details of a VirtualHub. + * + * @param {string} resourceGroupName The resource group name of the VirtualHub. + * + * @param {string} virtualHubName The name of the VirtualHub. + * + * @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, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Retrieves the details of a VirtualHub. + * + * @param {string} resourceGroupName The resource group name of the VirtualHub. + * + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -35923,7 +39796,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35931,29 +39804,49 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} 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, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates virtual wan vpn gateway tags. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs + * + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. + * + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. + * + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. + * + * @param {string} [virtualHubParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [virtualHubParameters.id] Resource ID. + * + * @param {string} [virtualHubParameters.location] Resource location. + * + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35962,23 +39855,43 @@ export interface VpnGateways { * * @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, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates virtual wan vpn gateway tags. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs + * + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. + * + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. + * + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. + * + * @param {string} [virtualHubParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [virtualHubParameters.id] Resource ID. + * + * @param {string} [virtualHubParameters.location] Resource location. + * + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35992,7 +39905,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36000,24 +39913,29 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} 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, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a virtual wan vpn gateway. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. + * + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. + * + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36026,18 +39944,23 @@ export interface VpnGateways { * * @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, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a virtual wan vpn gateway. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. + * + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. + * + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36051,7 +39974,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36059,22 +39982,24 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} 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, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VpnGateways in a resource group. + * Deletes a VirtualHub. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualHub. + * + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36083,17 +40008,18 @@ export interface VpnGateways { * * @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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a resource group. + * Deletes a VirtualHub. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualHub. + * + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36107,7 +40033,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36115,23 +40041,21 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} 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; + deleteMethod(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VpnGateways in a subscription. + * Lists all the VirtualHubs in a resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36140,17 +40064,16 @@ export interface VpnGateways { * * @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>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a subscription. + * Lists all the VirtualHubs in a resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36164,7 +40087,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36172,35 +40095,20 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} for more information. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} 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 - * VpnConnections - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VpnConnections { + 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; /** - * Retrieves the details of a vpn connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {string} connectionName The name of the vpn connection. + * Lists all the VirtualHubs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -36209,20 +40117,14 @@ export interface VpnConnections { * * @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, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a vpn connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {string} connectionName The name of the vpn connection. + * Lists all the VirtualHubs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -36236,7 +40138,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {VpnConnection} - The deserialized result object. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36244,60 +40146,49 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VpnConnection} for more information. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} 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, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, gatewayName: string, connectionName: 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; /** - * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {string} connectionName The name of the connection. - * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {string} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * @param {string} [virtualHubParameters.provisioningState] The provisioning * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [vpnConnectionParameters.id] Resource ID. + * @param {string} [virtualHubParameters.id] Resource ID. * - * @param {string} [vpnConnectionParameters.location] Resource location. + * @param {string} [virtualHubParameters.location] Resource location. * - * @param {object} [vpnConnectionParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36306,54 +40197,43 @@ export interface VpnConnections { * * @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, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {string} connectionName The name of the connection. - * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {string} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * @param {string} [virtualHubParameters.provisioningState] The provisioning * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [vpnConnectionParameters.id] Resource ID. + * @param {string} [virtualHubParameters.id] Resource ID. * - * @param {string} [vpnConnectionParameters.location] Resource location. + * @param {string} [virtualHubParameters.location] Resource location. * - * @param {object} [vpnConnectionParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36367,7 +40247,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {VpnConnection} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36375,26 +40255,29 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VpnConnection} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} 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, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a vpn connection. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {string} connectionName The name of the connection. + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. + * + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36403,20 +40286,23 @@ export interface VpnConnections { * * @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, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a vpn connection. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {string} connectionName The name of the connection. + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. + * + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36430,7 +40316,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36438,23 +40324,24 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} 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, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * Deletes a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36463,18 +40350,18 @@ export interface VpnConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByVpnGatewayWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * Deletes a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36488,7 +40375,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {ListVpnConnectionsResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36496,61 +40383,22 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnConnectionsResult} 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. */ - listByVpnGateway(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByVpnGateway(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - listByVpnGateway(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {string} connectionName The name of the connection. - * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. - * - * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. - * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. - * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. - * - * @param {string} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' - * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. - * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag - * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. - * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - * - * @param {string} [vpnConnectionParameters.id] Resource ID. - * - * @param {string} [vpnConnectionParameters.location] Resource location. + * Lists all the VirtualHubs in a resource group. * - * @param {object} [vpnConnectionParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -36559,54 +40407,74 @@ export interface VpnConnections { * * @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, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. + * Lists all the VirtualHubs in a resource group. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} gatewayName The name of the gateway. + * @param {object} [options] Optional Parameters. * - * @param {string} connectionName The name of the connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * {Promise} A promise is returned. * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * - * @param {string} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' + * @reject {Error|ServiceError} - The error object. * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} for more information. * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [vpnConnectionParameters.id] Resource ID. + * {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; + + + /** + * Lists all the VirtualHubs in a subscription. * - * @param {string} [vpnConnectionParameters.location] Resource location. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {object} [vpnConnectionParameters.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. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists all the VirtualHubs in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -36620,7 +40488,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {VpnConnection} - The deserialized result object. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36628,26 +40496,35 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VpnConnection} for more information. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} 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, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, 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 + * HubVirtualNetworkConnections + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface HubVirtualNetworkConnections { /** - * Deletes a vpn connection. + * Retrieves the details of a HubVirtualNetworkConnection. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {string} connectionName The name of the connection. + * @param {string} connectionName The name of the vpn connection. * * @param {object} [options] Optional Parameters. * @@ -36656,20 +40533,20 @@ export interface VpnConnections { * * @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, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a vpn connection. + * Retrieves the details of a HubVirtualNetworkConnection. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} gatewayName The name of the gateway. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {string} connectionName The name of the connection. + * @param {string} connectionName The name of the vpn connection. * * @param {object} [options] Optional Parameters. * @@ -36683,7 +40560,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {HubVirtualNetworkConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36691,22 +40568,25 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {HubVirtualNetworkConnection} [result] - The deserialized result object if an error did not occur. + * See {@link HubVirtualNetworkConnection} 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, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualHubName: string, connectionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualHubName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualHub. + * + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36715,17 +40595,18 @@ export interface VpnConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByVpnGatewayNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VirtualHub. + * + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -36739,7 +40620,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {ListVpnConnectionsResult} - The deserialized result object. + * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36747,35 +40628,24 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnConnectionsResult} for more - * information. + * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListHubVirtualNetworkConnectionsResult} 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. */ - listByVpnGatewayNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByVpnGatewayNext(nextPageLink: string, callback: ServiceCallback): void; - listByVpnGatewayNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * ServiceEndpointPolicies - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface ServiceEndpointPolicies { + list(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified service endpoint policy. - * - * @param {string} resourceGroupName The name of the resource group. + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -36784,19 +40654,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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified service endpoint policy. - * - * @param {string} resourceGroupName The name of the resource group. + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -36810,7 +40678,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36818,52 +40686,57 @@ 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. + * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListHubVirtualNetworkConnectionsResult} 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, 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; + 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 + * VpnGateways + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VpnGateways { /** - * Gets the specified service Endpoint Policies in a specified resource group. + * Retrieves the details of a virtual wan vpn gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * * @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, serviceEndpointPolicyName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified service Endpoint Policies in a specified resource group. + * Retrieves the details of a virtual wan vpn gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -36874,7 +40747,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36882,47 +40755,67 @@ 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. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} 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, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service Endpoint Policies. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. * - * @param {string} [parameters.id] Resource ID. + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. * - * @param {string} [parameters.location] Resource location. + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. + * + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. + * + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36931,41 +40824,61 @@ 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. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service Endpoint Policies. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. * - * @param {string} [parameters.id] Resource ID. + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. * - * @param {string} [parameters.location] Resource location. + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. + * + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. + * + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -36979,7 +40892,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -36987,30 +40900,29 @@ 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. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} 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, 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; + createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates service Endpoint Policies. + * Updates virtual wan vpn gateway tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37019,24 +40931,23 @@ 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>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates service Endpoint Policies. + * Updates virtual wan vpn gateway tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37050,7 +40961,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37058,20 +40969,24 @@ 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. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} 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, 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; + updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the service endpoint policies in a subscription. + * Deletes a virtual wan vpn gateway. + * + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -37080,14 +40995,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. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the service endpoint policies in a subscription. + * Deletes a virtual wan vpn gateway. + * + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -37101,7 +41020,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. * @@ -37109,23 +41028,21 @@ 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. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint Policies in a resource group. + * Lists all the VpnGateways in a resource group. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * * @param {object} [options] Optional Parameters. * @@ -37134,16 +41051,16 @@ 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>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint Policies in a resource group. + * Lists all the VpnGateways in a resource group. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * * @param {object} [options] Optional Parameters. * @@ -37157,7 +41074,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37165,26 +41082,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. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} 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; + 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 service endpoint policy. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * Lists all the VpnGateways in a subscription. * * @param {object} [options] Optional Parameters. * @@ -37193,19 +41104,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>; + listWithHttpOperationResponse(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. + * Lists all the VpnGateways in a subscription. * * @param {object} [options] Optional Parameters. * @@ -37219,7 +41125,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37227,46 +41133,67 @@ 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. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} 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; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service Endpoint Policies. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. * - * @param {string} [parameters.id] Resource ID. + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. * - * @param {string} [parameters.location] Resource location. + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. + * + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. + * + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37275,41 +41202,61 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service Endpoint Policies. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. * - * @param {string} [parameters.id] Resource ID. + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. * - * @param {string} [parameters.location] Resource location. + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. + * + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. + * + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37323,7 +41270,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37331,30 +41278,29 @@ 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. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} 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; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates service Endpoint Policies. + * Updates virtual wan vpn gateway tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37363,24 +41309,23 @@ 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. */ - beginUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates service Endpoint Policies. + * Updates virtual wan vpn gateway tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} gatewayName The name of the gateway. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37394,7 +41339,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37402,20 +41347,78 @@ 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. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} 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; + beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the service endpoint policies in a subscription. + * Deletes a virtual wan vpn gateway. + * + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. + * + * @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, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes a virtual wan vpn gateway. + * + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. + * + * @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, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Lists all the VpnGateways in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -37427,14 +41430,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. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the service endpoint policies in a subscription. + * Lists all the VpnGateways in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -37451,7 +41454,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37459,21 +41462,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. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} 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; /** - * Gets all service endpoint Policies in a resource group. + * Lists all the VpnGateways in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -37485,14 +41487,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. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint Policies in a resource group. + * Lists all the VpnGateways in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -37509,7 +41511,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37517,38 +41519,35 @@ 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. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} 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; + 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 - * ServiceEndpointPolicyDefinitions + * VpnConnections * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface ServiceEndpointPolicyDefinitions { +export interface VpnConnections { /** - * Deletes the specified ServiceEndpoint policy definitions. + * Retrieves the details of a vpn connection. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} gatewayName The name of the gateway. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} connectionName The name of the vpn connection. * * @param {object} [options] Optional Parameters. * @@ -37557,22 +41556,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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Retrieves the details of a vpn connection. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} gatewayName The name of the gateway. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} connectionName The name of the vpn connection. * * @param {object} [options] Optional Parameters. * @@ -37586,7 +41583,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VpnConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37594,28 +41591,60 @@ 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. + * {VpnConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VpnConnection} 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; + get(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the specified service endpoint policy definitions from service endpoint - * policy. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} gatewayName The name of the gateway. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. + * @param {string} connectionName The name of the connection. + * + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. + * + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. + * + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. + * + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + * + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. + * + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. + * + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnConnectionParameters.id] Resource ID. + * + * @param {string} [vpnConnectionParameters.location] Resource location. + * + * @param {object} [vpnConnectionParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37624,23 +41653,54 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified service endpoint policy definitions from service endpoint - * policy. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} gatewayName The name of the gateway. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. + * @param {string} connectionName The name of the connection. + * + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. + * + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. + * + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. + * + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + * + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. + * + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. + * + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnConnectionParameters.id] Resource ID. + * + * @param {string} [vpnConnectionParameters.location] Resource location. + * + * @param {object} [vpnConnectionParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37654,7 +41714,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. + * @resolve {VpnConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37662,55 +41722,26 @@ 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. + * {VpnConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VpnConnection} 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; + createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, 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'. + * Deletes a vpn connection. * - * @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} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} gatewayName The name of the gateway. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} connectionName The name of the connection. * * @param {object} [options] Optional Parameters. * @@ -37719,48 +41750,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. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: 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'. + * Deletes a vpn connection. * - * @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} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} gatewayName The name of the gateway. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} connectionName The name of the connection. * * @param {object} [options] Optional Parameters. * @@ -37774,7 +41777,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. * @@ -37782,26 +41785,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. + * {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, 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; + deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -37810,19 +41810,18 @@ 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>; + listByVpnGatewayWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -37836,7 +41835,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. + * @resolve {ListVpnConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37844,29 +41843,61 @@ 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. + * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnConnectionsResult} 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; + listByVpnGateway(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByVpnGateway(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + listByVpnGateway(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} gatewayName The name of the gateway. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} connectionName The name of the connection. + * + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. + * + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. + * + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. + * + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + * + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. + * + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. + * + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnConnectionParameters.id] Resource ID. + * + * @param {string} [vpnConnectionParameters.location] Resource location. + * + * @param {object} [vpnConnectionParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37875,22 +41906,54 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} gatewayName The name of the gateway. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} connectionName The name of the connection. + * + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. + * + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. + * + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. + * + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + * + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. + * + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. + * + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnConnectionParameters.id] Resource ID. + * + * @param {string} [vpnConnectionParameters.location] Resource location. + * + * @param {object} [vpnConnectionParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -37904,7 +41967,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VpnConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -37912,53 +41975,26 @@ 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. + * {VpnConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VpnConnection} 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; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, 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'. + * Deletes a vpn connection. * - * @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} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} gatewayName The name of the gateway. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} connectionName The name of the connection. * * @param {object} [options] Optional Parameters. * @@ -37967,48 +42003,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>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: 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'. + * Deletes a vpn connection. * - * @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} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} gatewayName The name of the gateway. * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} connectionName The name of the connection. * * @param {object} [options] Optional Parameters. * @@ -38022,7 +42030,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. * @@ -38030,21 +42038,19 @@ 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; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -38056,14 +42062,14 @@ 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. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByVpnGatewayNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -38080,7 +42086,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. + * @resolve {ListVpnConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -38088,15 +42094,15 @@ 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. + * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnConnectionsResult} 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; + listByVpnGatewayNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByVpnGatewayNext(nextPageLink: string, callback: ServiceCallback): void; + listByVpnGatewayNext(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 72d46c9a6c..1110b0037b 100644 --- a/lib/services/networkManagement2/lib/operations/index.js +++ b/lib/services/networkManagement2/lib/operations/index.js @@ -14,9 +14,10 @@ 'use strict'; -exports.AzureFirewalls = require('./azureFirewalls'); exports.ApplicationGateways = require('./applicationGateways'); exports.ApplicationSecurityGroups = require('./applicationSecurityGroups'); +exports.AzureFirewalls = require('./azureFirewalls'); +exports.AzureFirewallFqdnTags = require('./azureFirewallFqdnTags'); exports.DdosProtectionPlans = require('./ddosProtectionPlans'); exports.AvailableEndpointServices = require('./availableEndpointServices'); exports.ExpressRouteCircuitAuthorizations = require('./expressRouteCircuitAuthorizations'); @@ -36,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'); @@ -50,10 +52,13 @@ exports.RouteFilterRules = require('./routeFilterRules'); exports.RouteTables = require('./routeTables'); exports.Routes = require('./routes'); exports.BgpServiceCommunities = require('./bgpServiceCommunities'); +exports.ServiceEndpointPolicies = require('./serviceEndpointPolicies'); +exports.ServiceEndpointPolicyDefinitions = require('./serviceEndpointPolicyDefinitions'); 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'); @@ -64,5 +69,3 @@ exports.VirtualHubs = require('./virtualHubs'); exports.HubVirtualNetworkConnections = require('./hubVirtualNetworkConnections'); exports.VpnGateways = require('./vpnGateways'); exports.VpnConnections = require('./vpnConnections'); -exports.ServiceEndpointPolicies = require('./serviceEndpointPolicies'); -exports.ServiceEndpointPolicyDefinitions = require('./serviceEndpointPolicyDefinitions'); diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js b/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js index 7f7545ca8e..d63d6ff367 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -195,7 +195,7 @@ function _get(resourceGroupName, loadBalancerName, backendAddressPoolName, optio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js b/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js index 2a3fdee2c4..39aadcbb11 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js @@ -51,7 +51,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -198,7 +198,7 @@ function _get(resourceGroupName, loadBalancerName, frontendIPConfigurationName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js b/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js index ccbe2a5a99..d6dfb45567 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -195,7 +195,7 @@ function _get(resourceGroupName, loadBalancerName, loadBalancingRuleName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js b/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js index 8f9ca8c293..83d0b03698 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js b/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js index c94a51f6d1..913ad65b12 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -195,7 +195,7 @@ function _get(resourceGroupName, loadBalancerName, probeName, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancers.js b/lib/services/networkManagement2/lib/operations/loadBalancers.js index 96357d1edc..d1921be156 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancers.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancers.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, loadBalancerName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -476,7 +476,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -610,7 +610,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -748,7 +748,7 @@ function _beginDeleteMethod(resourceGroupName, loadBalancerName, options, callba if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -929,7 +929,7 @@ function _beginCreateOrUpdate(resourceGroupName, loadBalancerName, parameters, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1110,7 +1110,7 @@ function _beginUpdateTags(resourceGroupName, loadBalancerName, parameters, optio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/localNetworkGateways.js b/lib/services/networkManagement2/lib/operations/localNetworkGateways.js index 609de01831..f36707e4a4 100644 --- a/lib/services/networkManagement2/lib/operations/localNetworkGateways.js +++ b/lib/services/networkManagement2/lib/operations/localNetworkGateways.js @@ -164,7 +164,7 @@ function _get(resourceGroupName, localNetworkGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -460,7 +460,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -635,7 +635,7 @@ function _beginCreateOrUpdate(resourceGroupName, localNetworkGatewayName, parame if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -818,7 +818,7 @@ function _beginDeleteMethod(resourceGroupName, localNetworkGatewayName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -956,7 +956,7 @@ function _beginUpdateTags(resourceGroupName, localNetworkGatewayName, parameters if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js b/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js index 09ee2567fb..cd257fcb68 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, networkInterfaceName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -196,7 +196,7 @@ function _get(resourceGroupName, networkInterfaceName, ipConfigurationName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js b/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js index 64c069c6b7..36c542364a 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, networkInterfaceName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { 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 7323e6d111..d9d92527c4 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaces.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaces.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, networkInterfaceName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -513,7 +513,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -647,7 +647,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1745,7 +1745,7 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, options, ca if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1962,7 +1962,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkInterfaceName, parameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2144,7 +2144,7 @@ function _beginUpdateTags(resourceGroupName, networkInterfaceName, parameters, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2305,7 +2305,7 @@ function _beginGetEffectiveRouteTable(resourceGroupName, networkInterfaceName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2449,7 +2449,7 @@ function _beginListEffectiveNetworkSecurityGroups(resourceGroupName, networkInte if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js b/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js index 415421364f..ebad706473 100644 --- a/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js +++ b/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js @@ -117,7 +117,7 @@ function _get(resourceGroupName, networkSecurityGroupName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -451,7 +451,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -585,7 +585,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -724,7 +724,7 @@ function _beginDeleteMethod(resourceGroupName, networkSecurityGroupName, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -876,7 +876,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkSecurityGroupName, param if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1059,7 +1059,7 @@ function _beginUpdateTags(resourceGroupName, networkSecurityGroupName, parameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkWatchers.js b/lib/services/networkManagement2/lib/operations/networkWatchers.js index 186911dcdb..6453949064 100644 --- a/lib/services/networkManagement2/lib/operations/networkWatchers.js +++ b/lib/services/networkManagement2/lib/operations/networkWatchers.js @@ -61,7 +61,7 @@ function _createOrUpdate(resourceGroupName, networkWatcherName, parameters, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -239,7 +239,7 @@ function _get(resourceGroupName, networkWatcherName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -451,7 +451,7 @@ function _updateTags(resourceGroupName, networkWatcherName, parameters, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -611,7 +611,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -748,7 +748,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -898,7 +898,7 @@ function _getTopology(resourceGroupName, networkWatcherName, parameters, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2130,7 +2130,7 @@ function _beginDeleteMethod(resourceGroupName, networkWatcherName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2289,7 +2289,7 @@ function _beginVerifyIPFlow(resourceGroupName, networkWatcherName, parameters, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2481,7 +2481,7 @@ function _beginGetNextHop(resourceGroupName, networkWatcherName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2665,7 +2665,7 @@ function _beginGetVMSecurityRules(resourceGroupName, networkWatcherName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2855,7 +2855,7 @@ function _beginGetTroubleshooting(resourceGroupName, networkWatcherName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3039,7 +3039,7 @@ function _beginGetTroubleshootingResult(resourceGroupName, networkWatcherName, p if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3259,7 +3259,7 @@ function _beginSetFlowLogConfiguration(resourceGroupName, networkWatcherName, pa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3445,7 +3445,7 @@ function _beginGetFlowLogStatus(resourceGroupName, networkWatcherName, parameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3666,7 +3666,7 @@ function _beginCheckConnectivity(resourceGroupName, networkWatcherName, paramete if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3870,7 +3870,7 @@ function _beginGetAzureReachabilityReport(resourceGroupName, networkWatcherName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -4063,7 +4063,7 @@ function _beginListAvailableProviders(resourceGroupName, networkWatcherName, par if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -4251,7 +4251,7 @@ function _beginGetNetworkConfigurationDiagnostic(resourceGroupName, networkWatch if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/operations.js b/lib/services/networkManagement2/lib/operations/operations.js index 60e49815e5..93f0ea4539 100644 --- a/lib/services/networkManagement2/lib/operations/operations.js +++ b/lib/services/networkManagement2/lib/operations/operations.js @@ -45,7 +45,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/packetCaptures.js b/lib/services/networkManagement2/lib/operations/packetCaptures.js index 11adb02875..7e41b1ca6b 100644 --- a/lib/services/networkManagement2/lib/operations/packetCaptures.js +++ b/lib/services/networkManagement2/lib/operations/packetCaptures.js @@ -163,7 +163,7 @@ function _get(resourceGroupName, networkWatcherName, packetCaptureName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -524,7 +524,7 @@ function _list(resourceGroupName, networkWatcherName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -702,7 +702,7 @@ function _beginCreate(resourceGroupName, networkWatcherName, packetCaptureName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -868,7 +868,7 @@ function _beginDeleteMethod(resourceGroupName, networkWatcherName, packetCapture if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1000,7 +1000,7 @@ function _beginStop(resourceGroupName, networkWatcherName, packetCaptureName, op if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1135,7 +1135,7 @@ function _beginGetStatus(resourceGroupName, networkWatcherName, packetCaptureNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/publicIPAddresses.js b/lib/services/networkManagement2/lib/operations/publicIPAddresses.js index 948a1a17c2..5ea27d8207 100644 --- a/lib/services/networkManagement2/lib/operations/publicIPAddresses.js +++ b/lib/services/networkManagement2/lib/operations/publicIPAddresses.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, publicIpAddressName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -490,7 +490,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -624,7 +624,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1249,7 +1249,7 @@ function _beginDeleteMethod(resourceGroupName, publicIpAddressName, options, cal if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1443,7 +1443,7 @@ function _beginCreateOrUpdate(resourceGroupName, publicIpAddressName, parameters if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1625,7 +1625,7 @@ function _beginUpdateTags(resourceGroupName, publicIpAddressName, parameters, op if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js b/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js index 63e1c12574..8b3c0e85ec 100644 --- a/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js +++ b/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, publicIpPrefixName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -464,7 +464,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -598,7 +598,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -736,7 +736,7 @@ function _beginDeleteMethod(resourceGroupName, publicIpPrefixName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -904,7 +904,7 @@ function _beginCreateOrUpdate(resourceGroupName, publicIpPrefixName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1086,7 +1086,7 @@ function _beginUpdateTags(resourceGroupName, publicIpPrefixName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routeFilterRules.js b/lib/services/networkManagement2/lib/operations/routeFilterRules.js index 9809d1e108..4bd2c48399 100644 --- a/lib/services/networkManagement2/lib/operations/routeFilterRules.js +++ b/lib/services/networkManagement2/lib/operations/routeFilterRules.js @@ -116,7 +116,7 @@ function _get(resourceGroupName, routeFilterName, ruleName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -454,7 +454,7 @@ function _listByRouteFilter(resourceGroupName, routeFilterName, options, callbac if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -598,7 +598,7 @@ function _beginDeleteMethod(resourceGroupName, routeFilterName, ruleName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -752,7 +752,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeFilterName, ruleName, rout { routeFilterRuleParameters = {}; } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -951,7 +951,7 @@ function _beginUpdate(resourceGroupName, routeFilterName, ruleName, routeFilterR { routeFilterRuleParameters = {}; } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routeFilters.js b/lib/services/networkManagement2/lib/operations/routeFilters.js index 982b87ddfd..081ffbef2f 100644 --- a/lib/services/networkManagement2/lib/operations/routeFilters.js +++ b/lib/services/networkManagement2/lib/operations/routeFilters.js @@ -116,7 +116,7 @@ function _get(resourceGroupName, routeFilterName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -447,7 +447,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -582,7 +582,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -716,7 +716,7 @@ function _beginDeleteMethod(resourceGroupName, routeFilterName, options, callbac if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -857,7 +857,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeFilterName, routeFilterPar if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1047,7 +1047,7 @@ function _beginUpdate(resourceGroupName, routeFilterName, routeFilterParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routeTables.js b/lib/services/networkManagement2/lib/operations/routeTables.js index 2f02f01356..16bd1cbb7f 100644 --- a/lib/services/networkManagement2/lib/operations/routeTables.js +++ b/lib/services/networkManagement2/lib/operations/routeTables.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, routeTableName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -444,7 +444,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -579,7 +579,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -713,7 +713,7 @@ function _beginDeleteMethod(resourceGroupName, routeTableName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -861,7 +861,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeTableName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1042,7 +1042,7 @@ function _beginUpdateTags(resourceGroupName, routeTableName, parameters, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routes.js b/lib/services/networkManagement2/lib/operations/routes.js index 8944acee91..176b87e8e6 100644 --- a/lib/services/networkManagement2/lib/operations/routes.js +++ b/lib/services/networkManagement2/lib/operations/routes.js @@ -116,7 +116,7 @@ function _get(resourceGroupName, routeTableName, routeName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -371,7 +371,7 @@ function _list(resourceGroupName, routeTableName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -515,7 +515,7 @@ function _beginDeleteMethod(resourceGroupName, routeTableName, routeName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -675,7 +675,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeTableName, routeName, rout if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/securityRules.js b/lib/services/networkManagement2/lib/operations/securityRules.js index 467bf5452a..dcdd95ec78 100644 --- a/lib/services/networkManagement2/lib/operations/securityRules.js +++ b/lib/services/networkManagement2/lib/operations/securityRules.js @@ -118,7 +118,7 @@ function _get(resourceGroupName, networkSecurityGroupName, securityRuleName, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -422,7 +422,7 @@ function _list(resourceGroupName, networkSecurityGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -567,7 +567,7 @@ function _beginDeleteMethod(resourceGroupName, networkSecurityGroupName, securit if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -774,7 +774,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkSecurityGroupName, secur if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js index 1080d40432..a87741db3e 100644 --- a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js +++ b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js @@ -117,7 +117,7 @@ function _get(resourceGroupName, serviceEndpointPolicyName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -448,7 +448,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -582,7 +582,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -721,7 +721,7 @@ function _beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -870,7 +870,7 @@ function _beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, para if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1053,7 +1053,7 @@ function _beginUpdate(resourceGroupName, serviceEndpointPolicyName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js index 1b5180328a..bcacd3b25f 100644 --- a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js +++ b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js @@ -122,7 +122,7 @@ function _get(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolic if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -380,7 +380,7 @@ function _listByResourceGroup(resourceGroupName, serviceEndpointPolicyName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -526,7 +526,7 @@ function _beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, servic if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -687,7 +687,7 @@ function _beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, serv if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/subnets.js b/lib/services/networkManagement2/lib/operations/subnets.js index a1af5e8771..0cf5240587 100644 --- a/lib/services/networkManagement2/lib/operations/subnets.js +++ b/lib/services/networkManagement2/lib/operations/subnets.js @@ -119,7 +119,7 @@ function _get(resourceGroupName, virtualNetworkName, subnetName, options, callba throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -253,6 +253,9 @@ function _get(resourceGroupName, virtualNetworkName, subnetName, options, callba * @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. * @@ -428,7 +431,7 @@ function _list(resourceGroupName, virtualNetworkName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -572,7 +575,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, subnetName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -682,6 +685,9 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, subnetName, o * @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. * @@ -780,7 +786,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkName, subnetName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1268,6 +1274,9 @@ class Subnets { * @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. * @@ -1378,6 +1387,9 @@ class Subnets { * @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. * @@ -1685,6 +1697,9 @@ class Subnets { * @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. * @@ -1795,6 +1810,9 @@ class Subnets { * @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. * diff --git a/lib/services/networkManagement2/lib/operations/usages.js b/lib/services/networkManagement2/lib/operations/usages.js index 3cbfcbbd8f..b548655258 100644 --- a/lib/services/networkManagement2/lib/operations/usages.js +++ b/lib/services/networkManagement2/lib/operations/usages.js @@ -47,7 +47,7 @@ function _list(location, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualHubs.js b/lib/services/networkManagement2/lib/operations/virtualHubs.js index 09b11f374e..e55954edef 100644 --- a/lib/services/networkManagement2/lib/operations/virtualHubs.js +++ b/lib/services/networkManagement2/lib/operations/virtualHubs.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, virtualHubName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -440,7 +440,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -576,7 +576,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -737,7 +737,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualHubName, virtualHubParam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -920,7 +920,7 @@ function _beginUpdateTags(resourceGroupName, virtualHubName, virtualHubParameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1097,7 +1097,7 @@ function _beginDeleteMethod(resourceGroupName, virtualHubName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js b/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js index 7c99173abb..8ec942c3b5 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js @@ -307,7 +307,7 @@ function _get(resourceGroupName, virtualNetworkGatewayConnectionName, options, c if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -693,7 +693,7 @@ function _getSharedKey(resourceGroupName, virtualNetworkGatewayConnectionName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -836,7 +836,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1243,7 +1243,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkGatewayConnection if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1420,7 +1420,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkGatewayConnectionNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1553,7 +1553,7 @@ function _beginUpdateTags(resourceGroupName, virtualNetworkGatewayConnectionName if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1726,7 +1726,7 @@ function _beginSetSharedKey(resourceGroupName, virtualNetworkGatewayConnectionNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1915,7 +1915,7 @@ function _beginResetSharedKey(resourceGroupName, virtualNetworkGatewayConnection if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js b/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js index 55f9f94f2b..6864a99afe 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js @@ -228,7 +228,7 @@ function _get(resourceGroupName, virtualNetworkGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -518,7 +518,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -659,7 +659,7 @@ function _listConnections(resourceGroupName, virtualNetworkGatewayName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1264,7 +1264,7 @@ function _supportedVpnDevices(resourceGroupName, virtualNetworkGatewayName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1787,7 +1787,7 @@ function _vpnDeviceConfigurationScript(resourceGroupName, virtualNetworkGatewayC if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2053,7 +2053,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkGatewayName, para if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2230,7 +2230,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkGatewayName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2362,7 +2362,7 @@ function _beginUpdateTags(resourceGroupName, virtualNetworkGatewayName, paramete if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2528,7 +2528,7 @@ function _beginReset(resourceGroupName, virtualNetworkGatewayName, options, call throw new Error('callback cannot be null.'); } let gatewayVip = (options && options.gatewayVip !== undefined) ? options.gatewayVip : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2698,7 +2698,7 @@ function _beginGeneratevpnclientpackage(resourceGroupName, virtualNetworkGateway if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2885,7 +2885,7 @@ function _beginGenerateVpnProfile(resourceGroupName, virtualNetworkGatewayName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3053,7 +3053,7 @@ function _beginGetVpnProfilePackageUrl(resourceGroupName, virtualNetworkGatewayN if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3208,7 +3208,7 @@ function _beginGetBgpPeerStatus(resourceGroupName, virtualNetworkGatewayName, op throw new Error('callback cannot be null.'); } let peer = (options && options.peer !== undefined) ? options.peer : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3360,7 +3360,7 @@ function _beginGetLearnedRoutes(resourceGroupName, virtualNetworkGatewayName, op if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3508,7 +3508,7 @@ function _beginGetAdvertisedRoutes(resourceGroupName, virtualNetworkGatewayName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3695,7 +3695,7 @@ function _beginSetVpnclientIpsecParameters(resourceGroupName, virtualNetworkGate if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3858,7 +3858,7 @@ function _beginGetVpnclientIpsecParameters(resourceGroupName, virtualNetworkGate if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js b/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js index 5f70a33b5c..e946a2872b 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js @@ -118,7 +118,7 @@ function _get(resourceGroupName, virtualNetworkName, virtualNetworkPeeringName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -401,7 +401,7 @@ function _list(resourceGroupName, virtualNetworkName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -546,7 +546,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, virtualNetwor if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -733,7 +733,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkName, virtualNetw if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { 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; diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworks.js b/lib/services/networkManagement2/lib/operations/virtualNetworks.js index 92ce8e0560..6e77492dc7 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworks.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworks.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, virtualNetworkName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -470,7 +470,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -604,7 +604,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -747,7 +747,7 @@ function _checkIPAddressAvailability(resourceGroupName, virtualNetworkName, opti throw new Error('callback cannot be null.'); } let ipAddress = (options && options.ipAddress !== undefined) ? options.ipAddress : undefined; - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (ipAddress !== null && ipAddress !== undefined && typeof ipAddress.valueOf() !== 'string') { @@ -897,7 +897,7 @@ function _listUsage(resourceGroupName, virtualNetworkName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1039,7 +1039,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1213,7 +1213,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1395,7 +1395,7 @@ function _beginUpdateTags(resourceGroupName, virtualNetworkName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualWANs.js b/lib/services/networkManagement2/lib/operations/virtualWANs.js index 0ff9a92eae..d24a3b0ad0 100644 --- a/lib/services/networkManagement2/lib/operations/virtualWANs.js +++ b/lib/services/networkManagement2/lib/operations/virtualWANs.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, virtualWANName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -432,7 +432,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -568,7 +568,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -722,7 +722,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualWANName, wANParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -904,7 +904,7 @@ function _beginUpdateTags(resourceGroupName, virtualWANName, wANParameters, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1081,7 +1081,7 @@ function _beginDeleteMethod(resourceGroupName, virtualWANName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnConnections.js b/lib/services/networkManagement2/lib/operations/vpnConnections.js index d796e92aff..d8d29ad293 100644 --- a/lib/services/networkManagement2/lib/operations/vpnConnections.js +++ b/lib/services/networkManagement2/lib/operations/vpnConnections.js @@ -51,7 +51,7 @@ function _get(resourceGroupName, gatewayName, connectionName, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -379,7 +379,7 @@ function _listByVpnGateway(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -559,7 +559,7 @@ function _beginCreateOrUpdate(resourceGroupName, gatewayName, connectionName, vp if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -742,7 +742,7 @@ function _beginDeleteMethod(resourceGroupName, gatewayName, connectionName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnGateways.js b/lib/services/networkManagement2/lib/operations/vpnGateways.js index f4c4bd97f3..42f8302535 100644 --- a/lib/services/networkManagement2/lib/operations/vpnGateways.js +++ b/lib/services/networkManagement2/lib/operations/vpnGateways.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -458,7 +458,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -594,7 +594,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -773,7 +773,7 @@ function _beginCreateOrUpdate(resourceGroupName, gatewayName, vpnGatewayParamete if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -956,7 +956,7 @@ function _beginUpdateTags(resourceGroupName, gatewayName, vpnGatewayParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1133,7 +1133,7 @@ function _beginDeleteMethod(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnSites.js b/lib/services/networkManagement2/lib/operations/vpnSites.js index 2b11bb9bf8..d52dd1f65e 100644 --- a/lib/services/networkManagement2/lib/operations/vpnSites.js +++ b/lib/services/networkManagement2/lib/operations/vpnSites.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, vpnSiteName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -468,7 +468,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -604,7 +604,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -793,7 +793,7 @@ function _beginCreateOrUpdate(resourceGroupName, vpnSiteName, vpnSiteParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -976,7 +976,7 @@ function _beginUpdateTags(resourceGroupName, vpnSiteName, vpnSiteParameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1153,7 +1153,7 @@ function _beginDeleteMethod(resourceGroupName, vpnSiteName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js b/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js index 60c7def536..1dc950747f 100644 --- a/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js +++ b/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js @@ -133,7 +133,7 @@ function _beginDownload(resourceGroupName, virtualWANName, request, options, cal if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-07-01'; + let apiVersion = '2018-08-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') {