diff --git a/lib/services/networkManagement2/lib/models/applicationGateway.js b/lib/services/networkManagement2/lib/models/applicationGateway.js index e6578da902..51d8ecf64c 100644 --- a/lib/services/networkManagement2/lib/models/applicationGateway.js +++ b/lib/services/networkManagement2/lib/models/applicationGateway.js @@ -49,6 +49,8 @@ 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 @@ -222,6 +224,21 @@ 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 8cc553dbe8..0c46369e58 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthHttpSettings.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthHttpSettings.js @@ -37,6 +37,8 @@ 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 4a00fe5b68..9833dc0dbb 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 @@ -84,10 +86,17 @@ class ApplicationGatewayBackendHealthServer { * service endpoints. * @member {array} [ipConfiguration.subnet.serviceEndpointPolicies] An array * of service endpoint policies. + * @member {array} [ipConfiguration.subnet.interfaceEndpoints] An array of + * references to interface endpoints * @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 {array} [ipConfiguration.subnet.delegations] Gets an array of + * references to the delegations on the subnet. + * @member {string} [ipConfiguration.subnet.purpose] A read-only string + * identifying the intention of use for this subnet based on delegations and + * other user-defined properties. * @member {string} [ipConfiguration.subnet.provisioningState] The * provisioning state of the resource. * @member {string} [ipConfiguration.subnet.name] The name of the resource @@ -180,12 +189,22 @@ class ApplicationGatewayBackendHealthServer { * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] * An array of service endpoint policies. * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints + * @member {array} * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] * Gets an array of references to the network interface IP configurations * using subnet. * @member {array} * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] * Gets an array of references to the external resources using subnet. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] Gets + * an array of references to the delegations on the subnet. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. * @member {string} * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] * The provisioning state of the resource. diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js index fe3cf2b152..0b62d992fc 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHttpSettings.js @@ -33,6 +33,8 @@ 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 @@ -135,6 +137,21 @@ 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/availableDelegation.js b/lib/services/networkManagement2/lib/models/availableDelegation.js new file mode 100644 index 0000000000..b248e2fd59 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/availableDelegation.js @@ -0,0 +1,94 @@ +/* + * 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'; + +/** + * The serviceName of an AvailableDelegation indicates a possible delegation + * for a subnet. + * + */ +class AvailableDelegation { + /** + * Create a AvailableDelegation. + * @member {string} [name] The name of the AvailableDelegation resource. + * @member {string} [id] A unique identifier of the AvailableDelegation + * resource. + * @member {string} [type] Resource type. + * @member {string} [serviceName] The name of the service and resource + * @member {array} [actions] Describes the actions permitted to the service + * upon delegation + */ + constructor() { + } + + /** + * Defines the metadata of AvailableDelegation + * + * @returns {object} metadata of AvailableDelegation + * + */ + mapper() { + return { + required: false, + serializedName: 'AvailableDelegation', + type: { + name: 'Composite', + className: 'AvailableDelegation', + modelProperties: { + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + type: { + required: false, + serializedName: 'type', + type: { + name: 'String' + } + }, + serviceName: { + required: false, + serializedName: 'serviceName', + type: { + name: 'String' + } + }, + actions: { + required: false, + serializedName: 'actions', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + } + } + } + }; + } +} + +module.exports = AvailableDelegation; diff --git a/lib/services/networkManagement2/lib/models/availableDelegationsResult.js b/lib/services/networkManagement2/lib/models/availableDelegationsResult.js new file mode 100644 index 0000000000..36e5317a2e --- /dev/null +++ b/lib/services/networkManagement2/lib/models/availableDelegationsResult.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'; + +/** + * An array of available delegations. + */ +class AvailableDelegationsResult extends Array { + /** + * Create a AvailableDelegationsResult. + * @member {string} [nextLink] The URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of AvailableDelegationsResult + * + * @returns {object} metadata of AvailableDelegationsResult + * + */ + mapper() { + return { + required: false, + serializedName: 'AvailableDelegationsResult', + type: { + name: 'Composite', + className: 'AvailableDelegationsResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AvailableDelegationElementType', + type: { + name: 'Composite', + className: 'AvailableDelegation' + } + } + } + }, + nextLink: { + required: false, + readOnly: true, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AvailableDelegationsResult; diff --git a/lib/services/networkManagement2/lib/models/azureFirewall.js b/lib/services/networkManagement2/lib/models/azureFirewall.js index 977817bd58..982cc239e2 100644 --- a/lib/services/networkManagement2/lib/models/azureFirewall.js +++ b/lib/services/networkManagement2/lib/models/azureFirewall.js @@ -21,9 +21,11 @@ class AzureFirewall extends models['Resource'] { /** * Create a AzureFirewall. * @member {array} [applicationRuleCollections] Collection of application - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. + * @member {array} [natRuleCollections] Collection of NAT rule collections + * used by Azure Firewall. * @member {array} [networkRuleCollections] Collection of network rule - * collections used by a Azure Firewall. + * collections used by Azure Firewall. * @member {array} [ipConfigurations] IP configuration of the Azure Firewall * resource. * @member {string} [provisioningState] The provisioning state of the @@ -109,6 +111,21 @@ class AzureFirewall extends models['Resource'] { } } }, + natRuleCollections: { + required: false, + serializedName: 'properties.natRuleCollections', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AzureFirewallNatRuleCollectionElementType', + type: { + name: 'Composite', + className: 'AzureFirewallNatRuleCollection' + } + } + } + }, networkRuleCollections: { required: false, serializedName: 'properties.networkRuleCollections', diff --git a/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js b/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js index 309a13d64f..8858449814 100644 --- a/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js +++ b/lib/services/networkManagement2/lib/models/azureFirewallApplicationRule.js @@ -24,7 +24,8 @@ class AzureFirewallApplicationRule { * @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} [targetFqdns] List of FQDNs for this rule. + * @member {array} [fqdnTags] List of FQDN Tags for this rule. */ constructor() { } @@ -86,9 +87,23 @@ class AzureFirewallApplicationRule { } } }, - targetUrls: { + targetFqdns: { required: false, - serializedName: 'targetUrls', + serializedName: 'targetFqdns', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + fqdnTags: { + required: false, + serializedName: 'fqdnTags', type: { name: 'Sequence', element: { 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..193f98b5a0 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', @@ -111,6 +100,7 @@ class AzureFirewallIPConfiguration extends models['SubResource'] { }, etag: { required: false, + readOnly: true, serializedName: 'etag', type: { name: 'String' diff --git a/lib/services/networkManagement2/lib/models/azureFirewallNatRCAction.js b/lib/services/networkManagement2/lib/models/azureFirewallNatRCAction.js new file mode 100644 index 0000000000..7a5a98f310 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallNatRCAction.js @@ -0,0 +1,53 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * AzureFirewall NAT Rule Collection Action. + * + */ +class AzureFirewallNatRCAction { + /** + * Create a AzureFirewallNatRCAction. + * @member {string} [type] The type of action. Possible values include: + * 'Snat', 'Dnat' + */ + constructor() { + } + + /** + * Defines the metadata of AzureFirewallNatRCAction + * + * @returns {object} metadata of AzureFirewallNatRCAction + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallNatRCAction', + type: { + name: 'Composite', + className: 'AzureFirewallNatRCAction', + modelProperties: { + type: { + required: false, + serializedName: 'type', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallNatRCAction; diff --git a/lib/services/networkManagement2/lib/models/azureFirewallNatRule.js b/lib/services/networkManagement2/lib/models/azureFirewallNatRule.js new file mode 100644 index 0000000000..f85620e5f6 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallNatRule.js @@ -0,0 +1,140 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Properties of a NAT rule. + * + */ +class AzureFirewallNatRule { + /** + * Create a AzureFirewallNatRule. + * @member {string} [name] Name of the NAT rule. + * @member {string} [description] Description of the rule. + * @member {array} [sourceAddresses] List of source IP addresses for this + * rule. + * @member {array} [destinationAddresses] List of destination IP addresses + * for this rule. + * @member {array} [destinationPorts] List of destination ports. + * @member {array} [protocols] Array of AzureFirewallNetworkRuleProtocols + * applicable to this NAT rule. + * @member {string} [translatedAddress] The translated address for this NAT + * rule. + * @member {string} [translatedPort] The translated port for this NAT rule. + */ + constructor() { + } + + /** + * Defines the metadata of AzureFirewallNatRule + * + * @returns {object} metadata of AzureFirewallNatRule + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallNatRule', + type: { + name: 'Composite', + className: 'AzureFirewallNatRule', + modelProperties: { + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + description: { + required: false, + serializedName: 'description', + type: { + name: 'String' + } + }, + sourceAddresses: { + required: false, + serializedName: 'sourceAddresses', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + destinationAddresses: { + required: false, + serializedName: 'destinationAddresses', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + destinationPorts: { + required: false, + serializedName: 'destinationPorts', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + protocols: { + required: false, + serializedName: 'protocols', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AzureFirewallNetworkRuleProtocolElementType', + type: { + name: 'String' + } + } + } + }, + translatedAddress: { + required: false, + serializedName: 'translatedAddress', + type: { + name: 'String' + } + }, + translatedPort: { + required: false, + serializedName: 'translatedPort', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallNatRule; diff --git a/lib/services/networkManagement2/lib/models/azureFirewallNatRuleCollection.js b/lib/services/networkManagement2/lib/models/azureFirewallNatRuleCollection.js new file mode 100644 index 0000000000..2c17328930 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/azureFirewallNatRuleCollection.js @@ -0,0 +1,123 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * NAT rule collection resource + * + * @extends models['SubResource'] + */ +class AzureFirewallNatRuleCollection extends models['SubResource'] { + /** + * Create a AzureFirewallNatRuleCollection. + * @member {number} [priority] Priority of the NAT rule collection resource. + * @member {object} [action] The action type of a NAT rule collection + * @member {string} [action.type] The type of action. Possible values + * include: 'Snat', 'Dnat' + * @member {array} [rules] Collection of rules used by a NAT rule collection. + * @member {string} [provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * @member {string} [name] Gets name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] Gets a unique read-only string that changes + * whenever the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of AzureFirewallNatRuleCollection + * + * @returns {object} metadata of AzureFirewallNatRuleCollection + * + */ + mapper() { + return { + required: false, + serializedName: 'AzureFirewallNatRuleCollection', + type: { + name: 'Composite', + className: 'AzureFirewallNatRuleCollection', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + priority: { + required: false, + serializedName: 'properties.priority', + constraints: { + InclusiveMaximum: 65000, + InclusiveMinimum: 100 + }, + type: { + name: 'Number' + } + }, + action: { + required: false, + serializedName: 'properties.action', + type: { + name: 'Composite', + className: 'AzureFirewallNatRCAction' + } + }, + rules: { + required: false, + serializedName: 'properties.rules', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'AzureFirewallNatRuleElementType', + type: { + name: 'Composite', + className: 'AzureFirewallNatRule' + } + } + } + }, + provisioningState: { + required: false, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + etag: { + required: false, + readOnly: true, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = AzureFirewallNatRuleCollection; diff --git a/lib/services/networkManagement2/lib/models/delegation.js b/lib/services/networkManagement2/lib/models/delegation.js new file mode 100644 index 0000000000..1910cda4c3 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/delegation.js @@ -0,0 +1,108 @@ +/* + * 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'); + +/** + * Details the service to which the subnet is delegated. + * + * @extends models['SubResource'] + */ +class Delegation extends models['SubResource'] { + /** + * Create a Delegation. + * @member {string} [serviceName] The name of the service to whom the subnet + * should be delegated (e.g. Microsoft.Sql/servers) + * @member {array} [actions] Describes the actions permitted to the service + * upon delegation + * @member {string} [provisioningState] The provisioning state of the + * resource. + * @member {string} [name] The name of the resource that is unique within a + * subnet. This name can be used to access the resource. + * @member {string} [etag] A unique read-only string that changes whenever + * the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of Delegation + * + * @returns {object} metadata of Delegation + * + */ + mapper() { + return { + required: false, + serializedName: 'Delegation', + type: { + name: 'Composite', + className: 'Delegation', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + serviceName: { + required: false, + serializedName: 'properties.serviceName', + type: { + name: 'String' + } + }, + actions: { + required: false, + serializedName: 'properties.actions', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + provisioningState: { + required: false, + readOnly: true, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + etag: { + required: false, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = Delegation; diff --git a/lib/services/networkManagement2/lib/models/endpointService.js b/lib/services/networkManagement2/lib/models/endpointService.js new file mode 100644 index 0000000000..475f85cc4a --- /dev/null +++ b/lib/services/networkManagement2/lib/models/endpointService.js @@ -0,0 +1,53 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Identifies the service being brought into the virtual network. + * + */ +class EndpointService { + /** + * Create a EndpointService. + * @member {string} [id] A unique identifier of the service being referenced + * by the interface endpoint. + */ + constructor() { + } + + /** + * Defines the metadata of EndpointService + * + * @returns {object} metadata of EndpointService + * + */ + mapper() { + return { + required: false, + serializedName: 'EndpointService', + type: { + name: 'Composite', + className: 'EndpointService', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = EndpointService; diff --git a/lib/services/networkManagement2/lib/models/expressRouteCircuitPeering.js b/lib/services/networkManagement2/lib/models/expressRouteCircuitPeering.js index d965a8eb65..2be72862e5 100644 --- a/lib/services/networkManagement2/lib/models/expressRouteCircuitPeering.js +++ b/lib/services/networkManagement2/lib/models/expressRouteCircuitPeering.js @@ -111,6 +111,9 @@ class ExpressRouteCircuitPeering extends models['SubResource'] { * @member {string} [ipv6PeeringConfig.state] The state of peering. Possible * values are: 'Disabled' and 'Enabled'. Possible values include: 'Disabled', * 'Enabled' + * @member {object} [expressRouteConnection] The ExpressRoute connection. + * @member {string} [expressRouteConnection.id] The ID of the + * ExpressRouteConnection. * @member {array} [connections] The list of circuit connections associated * with Azure Private Peering for this circuit. * @member {string} [name] Gets name of the resource that is unique within a @@ -270,6 +273,14 @@ class ExpressRouteCircuitPeering extends models['SubResource'] { className: 'Ipv6ExpressRouteCircuitPeeringConfig' } }, + expressRouteConnection: { + required: false, + serializedName: 'properties.expressRouteConnection', + type: { + name: 'Composite', + className: 'ExpressRouteConnectionId' + } + }, connections: { required: false, serializedName: 'properties.connections', diff --git a/lib/services/networkManagement2/lib/models/expressRouteCircuitPeeringId.js b/lib/services/networkManagement2/lib/models/expressRouteCircuitPeeringId.js new file mode 100644 index 0000000000..dfbfddfe7e --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteCircuitPeeringId.js @@ -0,0 +1,52 @@ +/* + * 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'; + +/** + * ExpressRoute circuit peering identifier. + * + */ +class ExpressRouteCircuitPeeringId { + /** + * Create a ExpressRouteCircuitPeeringId. + * @member {string} [id] The ID of the ExpressRoute circuit peering. + */ + constructor() { + } + + /** + * Defines the metadata of ExpressRouteCircuitPeeringId + * + * @returns {object} metadata of ExpressRouteCircuitPeeringId + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteCircuitPeeringId', + type: { + name: 'Composite', + className: 'ExpressRouteCircuitPeeringId', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ExpressRouteCircuitPeeringId; diff --git a/lib/services/networkManagement2/lib/models/expressRouteConnection.js b/lib/services/networkManagement2/lib/models/expressRouteConnection.js new file mode 100644 index 0000000000..04f3c7cffb --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteConnection.js @@ -0,0 +1,104 @@ +/* + * 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'); + +/** + * ExpressRouteConnection resource. + * + * @extends models['SubResource'] + */ +class ExpressRouteConnection extends models['SubResource'] { + /** + * Create a ExpressRouteConnection. + * @member {string} [provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * @member {object} expressRouteCircuitPeering The ExpressRoute circuit + * peering. + * @member {string} [expressRouteCircuitPeering.id] The ID of the + * ExpressRoute circuit peering. + * @member {string} [authorizationKey] Authorization key to establish the + * connection. + * @member {number} [routingWeight] The routing weight associated to the + * connection. + * @member {string} name The name of the resource. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of ExpressRouteConnection + * + * @returns {object} metadata of ExpressRouteConnection + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteConnection', + type: { + name: 'Composite', + className: 'ExpressRouteConnection', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + provisioningState: { + required: false, + readOnly: true, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + expressRouteCircuitPeering: { + required: true, + serializedName: 'properties.expressRouteCircuitPeering', + type: { + name: 'Composite', + className: 'ExpressRouteCircuitPeeringId' + } + }, + authorizationKey: { + required: false, + serializedName: 'properties.authorizationKey', + type: { + name: 'String' + } + }, + routingWeight: { + required: false, + serializedName: 'properties.routingWeight', + type: { + name: 'Number' + } + }, + name: { + required: true, + serializedName: 'name', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ExpressRouteConnection; diff --git a/lib/services/networkManagement2/lib/models/expressRouteConnectionId.js b/lib/services/networkManagement2/lib/models/expressRouteConnectionId.js new file mode 100644 index 0000000000..5b0a95f675 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteConnectionId.js @@ -0,0 +1,53 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * The ID of the ExpressRouteConnection. + * + */ +class ExpressRouteConnectionId { + /** + * Create a ExpressRouteConnectionId. + * @member {string} [id] The ID of the ExpressRouteConnection. + */ + constructor() { + } + + /** + * Defines the metadata of ExpressRouteConnectionId + * + * @returns {object} metadata of ExpressRouteConnectionId + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteConnectionId', + type: { + name: 'Composite', + className: 'ExpressRouteConnectionId', + modelProperties: { + id: { + required: false, + readOnly: true, + serializedName: 'id', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ExpressRouteConnectionId; diff --git a/lib/services/networkManagement2/lib/models/expressRouteConnectionList.js b/lib/services/networkManagement2/lib/models/expressRouteConnectionList.js new file mode 100644 index 0000000000..65bf12f72c --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteConnectionList.js @@ -0,0 +1,62 @@ +/* + * 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'); + +/** + * ExpressRouteConnection list + * + */ +class ExpressRouteConnectionList { + /** + * Create a ExpressRouteConnectionList. + * @member {array} [value] The list of ExpressRoute connections + */ + constructor() { + } + + /** + * Defines the metadata of ExpressRouteConnectionList + * + * @returns {object} metadata of ExpressRouteConnectionList + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteConnectionList', + type: { + name: 'Composite', + className: 'ExpressRouteConnectionList', + modelProperties: { + value: { + required: false, + serializedName: 'value', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ExpressRouteConnectionElementType', + type: { + name: 'Composite', + className: 'ExpressRouteConnection' + } + } + } + } + } + } + }; + } +} + +module.exports = ExpressRouteConnectionList; diff --git a/lib/services/networkManagement2/lib/models/expressRouteGateway.js b/lib/services/networkManagement2/lib/models/expressRouteGateway.js new file mode 100644 index 0000000000..e760663d60 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteGateway.js @@ -0,0 +1,160 @@ +/* + * 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'); + +/** + * ExpressRoute gateway resource. + * + * @extends models['Resource'] + */ +class ExpressRouteGateway extends models['Resource'] { + /** + * Create a ExpressRouteGateway. + * @member {object} [autoScaleConfiguration] Configuration for auto scaling. + * @member {object} [autoScaleConfiguration.bounds] Minimum and maximum + * number of scale units to deploy. + * @member {number} [autoScaleConfiguration.bounds.min] Minimum number of + * scale units deployed for ExpressRoute gateway. + * @member {number} [autoScaleConfiguration.bounds.max] Maximum number of + * scale units deployed for ExpressRoute gateway. + * @member {array} [expressRouteConnections] List of ExpressRoute connections + * to the ExpressRoute gateway. + * @member {string} [provisioningState] The provisioning state of the + * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * @member {object} virtualHub The Virtual Hub where the ExpressRoute gateway + * is or will be deployed. + * @member {string} [virtualHub.id] The resource URI for the Virtual Hub + * where the ExpressRoute gateway is or will be deployed. The Virtual Hub + * resource and the ExpressRoute gateway resource reside in the same + * subscription. + * @member {string} [etag] A unique read-only string that changes whenever + * the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of ExpressRouteGateway + * + * @returns {object} metadata of ExpressRouteGateway + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteGateway', + type: { + name: 'Composite', + className: 'ExpressRouteGateway', + 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' + } + } + } + }, + autoScaleConfiguration: { + required: false, + serializedName: 'properties.autoScaleConfiguration', + type: { + name: 'Composite', + className: 'ExpressRouteGatewayPropertiesAutoScaleConfiguration' + } + }, + expressRouteConnections: { + required: false, + readOnly: true, + serializedName: 'properties.expressRouteConnections', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ExpressRouteConnectionElementType', + type: { + name: 'Composite', + className: 'ExpressRouteConnection' + } + } + } + }, + provisioningState: { + required: false, + readOnly: true, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + virtualHub: { + required: true, + serializedName: 'properties.virtualHub', + type: { + name: 'Composite', + className: 'VirtualHubId' + } + }, + etag: { + required: false, + readOnly: true, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ExpressRouteGateway; diff --git a/lib/services/networkManagement2/lib/models/expressRouteGatewayList.js b/lib/services/networkManagement2/lib/models/expressRouteGatewayList.js new file mode 100644 index 0000000000..dde870fd10 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteGatewayList.js @@ -0,0 +1,62 @@ +/* + * 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'); + +/** + * List of ExpressRoute gateways. + * + */ +class ExpressRouteGatewayList { + /** + * Create a ExpressRouteGatewayList. + * @member {array} [value] List of ExpressRoute gateways. + */ + constructor() { + } + + /** + * Defines the metadata of ExpressRouteGatewayList + * + * @returns {object} metadata of ExpressRouteGatewayList + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteGatewayList', + type: { + name: 'Composite', + className: 'ExpressRouteGatewayList', + modelProperties: { + value: { + required: false, + serializedName: 'value', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ExpressRouteGatewayElementType', + type: { + name: 'Composite', + className: 'ExpressRouteGateway' + } + } + } + } + } + } + }; + } +} + +module.exports = ExpressRouteGatewayList; diff --git a/lib/services/networkManagement2/lib/models/expressRouteGatewayPropertiesAutoScaleConfiguration.js b/lib/services/networkManagement2/lib/models/expressRouteGatewayPropertiesAutoScaleConfiguration.js new file mode 100644 index 0000000000..2a59645b61 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteGatewayPropertiesAutoScaleConfiguration.js @@ -0,0 +1,60 @@ +/* + * 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'); + +/** + * Configuration for auto scaling. + * + */ +class ExpressRouteGatewayPropertiesAutoScaleConfiguration { + /** + * Create a ExpressRouteGatewayPropertiesAutoScaleConfiguration. + * @member {object} [bounds] Minimum and maximum number of scale units to + * deploy. + * @member {number} [bounds.min] Minimum number of scale units deployed for + * ExpressRoute gateway. + * @member {number} [bounds.max] Maximum number of scale units deployed for + * ExpressRoute gateway. + */ + constructor() { + } + + /** + * Defines the metadata of ExpressRouteGatewayPropertiesAutoScaleConfiguration + * + * @returns {object} metadata of ExpressRouteGatewayPropertiesAutoScaleConfiguration + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteGatewayProperties_autoScaleConfiguration', + type: { + name: 'Composite', + className: 'ExpressRouteGatewayPropertiesAutoScaleConfiguration', + modelProperties: { + bounds: { + required: false, + serializedName: 'bounds', + type: { + name: 'Composite', + className: 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds' + } + } + } + } + }; + } +} + +module.exports = ExpressRouteGatewayPropertiesAutoScaleConfiguration; diff --git a/lib/services/networkManagement2/lib/models/expressRouteGatewayPropertiesAutoScaleConfigurationBounds.js b/lib/services/networkManagement2/lib/models/expressRouteGatewayPropertiesAutoScaleConfigurationBounds.js new file mode 100644 index 0000000000..10ad71522e --- /dev/null +++ b/lib/services/networkManagement2/lib/models/expressRouteGatewayPropertiesAutoScaleConfigurationBounds.js @@ -0,0 +1,62 @@ +/* + * 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'; + +/** + * Minimum and maximum number of scale units to deploy. + * + */ +class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds { + /** + * Create a ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds. + * @member {number} [min] Minimum number of scale units deployed for + * ExpressRoute gateway. + * @member {number} [max] Maximum number of scale units deployed for + * ExpressRoute gateway. + */ + constructor() { + } + + /** + * Defines the metadata of ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + * + * @returns {object} metadata of ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds + * + */ + mapper() { + return { + required: false, + serializedName: 'ExpressRouteGatewayProperties_autoScaleConfiguration_bounds', + type: { + name: 'Composite', + className: 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds', + modelProperties: { + min: { + required: false, + serializedName: 'min', + type: { + name: 'Number' + } + }, + max: { + required: false, + serializedName: 'max', + type: { + name: 'Number' + } + } + } + } + }; + } +} + +module.exports = ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds; diff --git a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js index c1e5aaba30..ac7e7b9b07 100644 --- a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js @@ -71,10 +71,17 @@ class FrontendIPConfiguration extends models['SubResource'] { * @member {array} [subnet.serviceEndpoints] An array of service endpoints. * @member {array} [subnet.serviceEndpointPolicies] An array of service * endpoint policies. + * @member {array} [subnet.interfaceEndpoints] An array of references to + * interface endpoints * @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 {array} [subnet.delegations] Gets an array of references to the + * delegations on the subnet. + * @member {string} [subnet.purpose] A read-only string identifying the + * intention of use for this subnet based on delegations and other + * user-defined properties. * @member {string} [subnet.provisioningState] The provisioning state of the * resource. * @member {string} [subnet.name] The name of the resource that is unique @@ -154,12 +161,20 @@ class FrontendIPConfiguration extends models['SubResource'] { * @member {array} * [publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] An array * of service endpoint policies. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] An array of + * references to interface endpoints * @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 {array} [publicIPAddress.ipConfiguration.subnet.delegations] Gets + * an array of references to the delegations on the subnet. + * @member {string} [publicIPAddress.ipConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. * @member {string} * [publicIPAddress.ipConfiguration.subnet.provisioningState] The * provisioning state of the resource. diff --git a/lib/services/networkManagement2/lib/models/iPConfiguration.js b/lib/services/networkManagement2/lib/models/iPConfiguration.js index 51972e10ff..c08dd73bc5 100644 --- a/lib/services/networkManagement2/lib/models/iPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/iPConfiguration.js @@ -63,10 +63,17 @@ class IPConfiguration extends models['SubResource'] { * @member {array} [subnet.serviceEndpoints] An array of service endpoints. * @member {array} [subnet.serviceEndpointPolicies] An array of service * endpoint policies. + * @member {array} [subnet.interfaceEndpoints] An array of references to + * interface endpoints * @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 {array} [subnet.delegations] Gets an array of references to the + * delegations on the subnet. + * @member {string} [subnet.purpose] A read-only string identifying the + * intention of use for this subnet based on delegations and other + * user-defined properties. * @member {string} [subnet.provisioningState] The provisioning state of the * resource. * @member {string} [subnet.name] The name of the resource that is unique diff --git a/lib/services/networkManagement2/lib/models/inboundNatRule.js b/lib/services/networkManagement2/lib/models/inboundNatRule.js index 7613e70e22..05f4c51c2e 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. @@ -93,11 +95,18 @@ class InboundNatRule extends models['SubResource'] { * of service endpoints. * @member {array} [backendIPConfiguration.subnet.serviceEndpointPolicies] An * array of service endpoint policies. + * @member {array} [backendIPConfiguration.subnet.interfaceEndpoints] An + * array of references to interface endpoints * @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 {array} [backendIPConfiguration.subnet.delegations] Gets an array + * of references to the delegations on the subnet. + * @member {string} [backendIPConfiguration.subnet.purpose] A read-only + * string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. * @member {string} [backendIPConfiguration.subnet.provisioningState] The * provisioning state of the resource. * @member {string} [backendIPConfiguration.subnet.name] The name of the @@ -192,12 +201,22 @@ class InboundNatRule extends models['SubResource'] { * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] * An array of service endpoint policies. * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. * @member {string} * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] * The provisioning state of the resource. diff --git a/lib/services/networkManagement2/lib/models/index.d.ts b/lib/services/networkManagement2/lib/models/index.d.ts index e18723347f..d13176e785 100644 --- a/lib/services/networkManagement2/lib/models/index.d.ts +++ b/lib/services/networkManagement2/lib/models/index.d.ts @@ -30,324 +30,655 @@ export interface SubResource extends BaseResource { /** * @class - * Initializes a new instance of the BackendAddressPool class. - * @constructor - * Pool of backend IP addresses. - * - * @member {array} [backendIPConfigurations] Gets collection of references to - * IP addresses defined in network interfaces. - * @member {array} [loadBalancingRules] Gets load balancing rules that use this - * backend address pool. - * @member {object} [outboundRule] Gets outbound rules that use this backend - * address pool. - * @member {string} [outboundRule.id] Resource ID. - * @member {string} [provisioningState] Get provisioning state of the public IP - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @member {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @member {string} [etag] A unique read-only string that changes whenever the - * resource is updated. - */ -export interface BackendAddressPool extends SubResource { - readonly backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; - readonly loadBalancingRules?: SubResource[]; - readonly outboundRule?: SubResource; - provisioningState?: string; - name?: string; - etag?: string; -} - -/** - * @class - * Initializes a new instance of the InboundNatRule class. + * Initializes a new instance of the NetworkInterfaceTapConfiguration class. * @constructor - * Inbound NAT rule of the load balancer. + * Tap configuration in a Network Interface * - * @member {object} [frontendIPConfiguration] A reference to frontend IP - * addresses. - * @member {string} [frontendIPConfiguration.id] Resource ID. - * @member {object} [backendIPConfiguration] A reference to a private IP - * address defined on a network interface of a VM. Traffic sent to the frontend - * port of each of the frontend IP configurations is forwarded to the backend - * IP. + * @member {object} [virtualNetworkTap] The reference of the Virtual Network + * Tap resource. + * @member {array} [virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] The reference + * to the private IP Address of the collector nic that will receive the tap * @member {array} - * [backendIPConfiguration.applicationGatewayBackendAddressPools] The reference - * of ApplicationGatewayBackendAddressPool resource. - * @member {array} [backendIPConfiguration.loadBalancerBackendAddressPools] The - * reference of LoadBalancerBackendAddressPool resource. - * @member {array} [backendIPConfiguration.loadBalancerInboundNatRules] A list - * of references of LoadBalancerInboundNatRules. - * @member {string} [backendIPConfiguration.privateIPAddress] Private IP - * address of the IP configuration. - * @member {string} [backendIPConfiguration.privateIPAllocationMethod] Defines - * how a private IP address is assigned. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @member {string} [backendIPConfiguration.privateIPAddressVersion] Available - * from Api-Version 2016-03-30 onwards, it represents whether the specific - * ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values - * are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' - * @member {object} [backendIPConfiguration.subnet] Subnet bound to the IP - * configuration. - * @member {string} [backendIPConfiguration.subnet.addressPrefix] The address - * prefix for the subnet. - * @member {array} [backendIPConfiguration.subnet.addressPrefixes] List of - * address prefixes for the subnet. - * @member {object} [backendIPConfiguration.subnet.networkSecurityGroup] The - * reference of the NetworkSecurityGroup resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * @member {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * @member {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] + * Defines how a private IP address is assigned. Possible values are: 'Static' + * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] + * Available from Api-Version 2016-03-30 onwards, it represents whether the + * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] Subnet + * bound to the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] * The default security rules of network security group. * @member {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @member {array} [backendIPConfiguration.subnet.networkSecurityGroup.subnets] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.subnets] * A collection of references to subnets. * @member {string} - * [backendIPConfiguration.subnet.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * @member {string} - * [backendIPConfiguration.subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.subnet.networkSecurityGroup.etag] A - * unique read-only string that changes whenever the resource is updated. - * @member {object} [backendIPConfiguration.subnet.routeTable] The reference of - * the RouteTable resource. - * @member {array} [backendIPConfiguration.subnet.routeTable.routes] Collection - * of routes contained within a route table. - * @member {array} [backendIPConfiguration.subnet.routeTable.subnets] A - * collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. * @member {boolean} - * [backendIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets - * or sets whether to disable the routes learned by BGP on that route table. - * True means disable. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. * @member {string} - * [backendIPConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', * 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.subnet.routeTable.etag] Gets a + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.etag] A * unique read-only string that changes whenever the resource is updated. - * @member {array} [backendIPConfiguration.subnet.serviceEndpoints] An array of - * service endpoints. - * @member {array} [backendIPConfiguration.subnet.serviceEndpointPolicies] An - * array of service endpoint policies. - * @member {array} [backendIPConfiguration.subnet.ipConfigurations] Gets an - * array of references to the network interface IP configurations using subnet. - * @member {array} [backendIPConfiguration.subnet.resourceNavigationLinks] Gets - * an array of references to the external resources using subnet. - * @member {string} [backendIPConfiguration.subnet.provisioningState] The - * provisioning state of the resource. - * @member {string} [backendIPConfiguration.subnet.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * @member {string} [backendIPConfiguration.subnet.etag] A unique read-only - * string that changes whenever the resource is updated. - * @member {boolean} [backendIPConfiguration.primary] Gets whether this is a - * primary customer address on the network interface. - * @member {object} [backendIPConfiguration.publicIPAddress] Public IP address - * bound to the IP configuration. - * @member {object} [backendIPConfiguration.publicIPAddress.sku] The public IP - * address SKU. - * @member {string} [backendIPConfiguration.publicIPAddress.sku.name] Name of a - * public IP address SKU. Possible values include: 'Basic', 'Standard' + * @member {boolean} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] Gets + * whether this is a primary customer address on the network interface. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * @member {string} - * [backendIPConfiguration.publicIPAddress.publicIPAllocationMethod] The public - * IP allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * @member {string} - * [backendIPConfiguration.publicIPAddress.publicIPAddressVersion] The public - * IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @member {object} [backendIPConfiguration.publicIPAddress.ipConfiguration] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] * The IP configuration associated with the public IP address. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] * The private IP address of the IP configuration. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] * The private IP allocation method. Possible values are 'Static' and * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * @member {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet] The - * reference of the subnet resource. + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] * The address prefix for the subnet. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] * List of address prefixes for the subnet. * @member {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] * The reference of the NetworkSecurityGroup resource. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] * A collection of security rules of the network security group. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] * The default security rules of network security group. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] * A collection of references to network interfaces. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] * A collection of references to subnets. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] * The resource GUID property of the network security group resource. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] * The provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] * A unique read-only string that changes whenever the resource is updated. * @member {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] * The reference of the RouteTable resource. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] * Collection of routes contained within a route table. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] * A collection of references to subnets. * @member {boolean} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] * Gets or sets whether to disable the routes learned by BGP on that route * table. True means disable. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] * The provisioning state of the resource. Possible values are: 'Updating', * 'Deleting', and 'Failed'. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] * Gets a unique read-only string that changes whenever the resource is * updated. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] * An array of service endpoints. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] * An array of service endpoint policies. * @member {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints + * @member {array} + * [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 {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. * @member {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @member {string} + * [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] - * The provisioning state of the PublicIP resource. Possible values are: + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.publicIPAddress.etag] A unique - * read-only string that changes whenever the resource is updated. - * @member {array} [backendIPConfiguration.publicIPAddress.zones] A list of - * availability zones denoting the IP allocated for the resource needs to come - * from. - * @member {array} [backendIPConfiguration.applicationSecurityGroups] + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] * Application security groups in which the IP configuration is included. - * @member {string} [backendIPConfiguration.provisioningState] The provisioning - * state of the network interface IP configuration. Possible values are: + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] The name + * of the resource that is unique within a resource group. This name can be + * used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] The + * reference to the private IP address on the internal Load Balancer that will + * receive the tap + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatRules] + * Read only. Inbound rules URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatPools] + * Read only. Inbound pools URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.outboundRules] + * Read only. Outbound rules URIs that use this frontend IP. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.loadBalancingRules] + * Gets load balancing rules URIs that use this frontend IP. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [backendIPConfiguration.name] The name of the resource that - * is unique within a resource group. This name can be used to access the - * resource. - * @member {string} [backendIPConfiguration.etag] A unique read-only string + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * @member {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] A + * list of availability zones denoting the IP allocated for the resource needs + * to come from. + * @member {number} [virtualNetworkTap.destinationPort] The VXLAN destination + * port that will receive the tapped traffic. + * @member {string} [virtualNetworkTap.etag] Gets a unique read-only string * that changes whenever the resource is updated. - * @member {string} [protocol] Possible values include: 'Udp', 'Tcp', 'All' - * @member {number} [frontendPort] The port for the external endpoint. Port - * numbers for each rule must be unique within the Load Balancer. Acceptable - * values range from 1 to 65534. - * @member {number} [backendPort] The port used for the internal endpoint. - * Acceptable values range from 1 to 65535. - * @member {number} [idleTimeoutInMinutes] The timeout for the TCP idle - * connection. The value can be set between 4 and 30 minutes. The default value - * is 4 minutes. This element is only used when the protocol is set to TCP. - * @member {boolean} [enableFloatingIP] Configures a virtual machine's endpoint - * for the floating IP capability required to configure a SQL AlwaysOn - * Availability Group. This setting is required when using the SQL AlwaysOn - * Availability Groups in SQL server. This setting can't be changed after you - * create the endpoint. - * @member {boolean} [enableTcpReset] Receive bidirectional TCP Reset on TCP - * flow idle timeout or unexpected connection termination. This element is only - * used when the protocol is set to TCP. - * @member {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [name] Gets name of the resource that is unique within a + * @member {string} [name] The name of the resource that is unique within a * resource group. This name can be used to access the resource. * @member {string} [etag] A unique read-only string that changes whenever the * resource is updated. + * @member {string} [type] Sub Resource type. */ -export interface InboundNatRule extends SubResource { - frontendIPConfiguration?: SubResource; - readonly backendIPConfiguration?: NetworkInterfaceIPConfiguration; - protocol?: string; - frontendPort?: number; - backendPort?: number; - idleTimeoutInMinutes?: number; - enableFloatingIP?: boolean; - enableTcpReset?: boolean; - provisioningState?: string; +export interface NetworkInterfaceTapConfiguration extends SubResource { + virtualNetworkTap?: VirtualNetworkTap; name?: string; etag?: string; + readonly type?: string; } /** @@ -462,6 +793,50 @@ export interface SecurityRule extends SubResource { etag?: string; } +/** + * @class + * Initializes a new instance of the EndpointService class. + * @constructor + * Identifies the service being brought into the virtual network. + * + * @member {string} [id] A unique identifier of the service being referenced by + * the interface endpoint. + */ +export interface EndpointService { + id?: string; +} + +/** + * @class + * Initializes a new instance of the InterfaceEndpoint class. + * @constructor + * Interface endpoint resource. + * + * @member {string} [fqdn] A first-party service's FQDN that is mapped to the + * private IP allocated via this interface endpoint. + * @member {object} [endpointService] A reference to the service being brought + * into the virtual network. + * @member {string} [endpointService.id] A unique identifier of the service + * being referenced by the interface endpoint. + * @member {object} [subnet] The ID of the subnet from which the private IP + * will be allocated. + * @member {string} [subnet.id] Resource ID. + * @member {array} [networkInterfaces] Gets an array of references to the + * network interfaces created for this interface endpoint. + * @member {string} [owner] A read-only property that identifies who created + * this interface endpoint. + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. + */ +export interface InterfaceEndpoint extends Resource { + fqdn?: string; + endpointService?: EndpointService; + subnet?: SubResource; + networkInterfaces?: SubResource[]; + readonly owner?: string; + etag?: string; +} + /** * @class * Initializes a new instance of the NetworkInterfaceDnsSettings class. @@ -518,6 +893,23 @@ export interface NetworkInterfaceDnsSettings { * 'Deleting', and 'Failed'. * @member {string} [networkSecurityGroup.etag] A unique read-only string that * changes whenever the resource is updated. + * @member {object} [interfaceEndpoint] A reference to the interface endpoint + * to which the network interface is linked. + * @member {string} [interfaceEndpoint.fqdn] A first-party service's FQDN that + * is mapped to the private IP allocated via this interface endpoint. + * @member {object} [interfaceEndpoint.endpointService] A reference to the + * service being brought into the virtual network. + * @member {string} [interfaceEndpoint.endpointService.id] A unique identifier + * of the service being referenced by the interface endpoint. + * @member {object} [interfaceEndpoint.subnet] The ID of the subnet from which + * the private IP will be allocated. + * @member {string} [interfaceEndpoint.subnet.id] Resource ID. + * @member {array} [interfaceEndpoint.networkInterfaces] Gets an array of + * references to the network interfaces created for this interface endpoint. + * @member {string} [interfaceEndpoint.owner] A read-only property that + * identifies who created this interface endpoint. + * @member {string} [interfaceEndpoint.etag] Gets a unique read-only string + * that changes whenever the resource is updated. * @member {array} [ipConfigurations] A list of IPConfigurations of the network * interface. * @member {object} [dnsSettings] The DNS settings in network interface. @@ -545,6 +937,10 @@ export interface NetworkInterfaceDnsSettings { * accelerated networking enabled. * @member {boolean} [enableIPForwarding] Indicates whether IP forwarding is * enabled on this network interface. + * @member {array} [hostedWorkloads] A list of references to linked BareMetal + * resources + * @member {string} [linkedResourceType] The type of resource to be linked to + * this network interface * @member {string} [resourceGuid] The resource GUID property of the network * interface resource. * @member {string} [provisioningState] The provisioning state of the public IP @@ -555,12 +951,15 @@ export interface NetworkInterfaceDnsSettings { export interface NetworkInterface extends Resource { virtualMachine?: SubResource; networkSecurityGroup?: NetworkSecurityGroup; + interfaceEndpoint?: InterfaceEndpoint; ipConfigurations?: NetworkInterfaceIPConfiguration[]; dnsSettings?: NetworkInterfaceDnsSettings; macAddress?: string; primary?: boolean; enableAcceleratedNetworking?: boolean; enableIPForwarding?: boolean; + readonly hostedWorkloads?: string[]; + linkedResourceType?: string; resourceGuid?: string; provisioningState?: string; etag?: string; @@ -837,10 +1236,17 @@ export interface IpTag { * service endpoints. * @member {array} [ipConfiguration.subnet.serviceEndpointPolicies] An array of * service endpoint policies. + * @member {array} [ipConfiguration.subnet.interfaceEndpoints] An array of + * references to interface endpoints * @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 {array} [ipConfiguration.subnet.delegations] Gets an array of + * references to the delegations on the subnet. + * @member {string} [ipConfiguration.subnet.purpose] A read-only string + * identifying the intention of use for this subnet based on delegations and + * other user-defined properties. * @member {string} [ipConfiguration.subnet.provisioningState] The provisioning * state of the resource. * @member {string} [ipConfiguration.subnet.name] The name of the resource that @@ -955,10 +1361,17 @@ export interface PublicIPAddress extends Resource { * @member {array} [subnet.serviceEndpoints] An array of service endpoints. * @member {array} [subnet.serviceEndpointPolicies] An array of service * endpoint policies. + * @member {array} [subnet.interfaceEndpoints] An array of references to + * interface endpoints * @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 {array} [subnet.delegations] Gets an array of references to the + * delegations on the subnet. + * @member {string} [subnet.purpose] A read-only string identifying the + * intention of use for this subnet based on delegations and other user-defined + * properties. * @member {string} [subnet.provisioningState] The provisioning state of the * resource. * @member {string} [subnet.name] The name of the resource that is unique @@ -1052,6 +1465,30 @@ export interface ResourceNavigationLink extends SubResource { readonly etag?: string; } +/** + * @class + * Initializes a new instance of the Delegation class. + * @constructor + * Details the service to which the subnet is delegated. + * + * @member {string} [serviceName] The name of the service to whom the subnet + * should be delegated (e.g. Microsoft.Sql/servers) + * @member {array} [actions] Describes the actions permitted to the service + * upon delegation + * @member {string} [provisioningState] The provisioning state of the resource. + * @member {string} [name] The name of the resource that is unique within a + * subnet. 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 Delegation extends SubResource { + serviceName?: string; + actions?: string[]; + readonly provisioningState?: string; + name?: string; + etag?: string; +} + /** * @class * Initializes a new instance of the Subnet class. @@ -1091,10 +1528,16 @@ export interface ResourceNavigationLink extends SubResource { * @member {array} [serviceEndpoints] An array of service endpoints. * @member {array} [serviceEndpointPolicies] An array of service endpoint * policies. + * @member {array} [interfaceEndpoints] An array of references to interface + * endpoints * @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 {array} [delegations] Gets an array of references to the delegations + * on the subnet. + * @member {string} [purpose] A read-only string identifying the intention of + * use for this subnet based on delegations and other user-defined properties. * @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. @@ -1108,8 +1551,11 @@ export interface Subnet extends SubResource { routeTable?: RouteTable; serviceEndpoints?: ServiceEndpointPropertiesFormat[]; serviceEndpointPolicies?: ServiceEndpointPolicy[]; + interfaceEndpoints?: SubResource[]; readonly ipConfigurations?: IPConfiguration[]; resourceNavigationLinks?: ResourceNavigationLink[]; + delegations?: Delegation[]; + readonly purpose?: string; provisioningState?: string; name?: string; etag?: string; @@ -1117,26 +1563,24 @@ export interface Subnet extends SubResource { /** * @class - * Initializes a new instance of the NetworkInterfaceIPConfiguration class. + * Initializes a new instance of the FrontendIPConfiguration class. * @constructor - * IPConfiguration in a network interface. + * Frontend IP address of the load balancer. * - * @member {array} [applicationGatewayBackendAddressPools] The reference of - * ApplicationGatewayBackendAddressPool resource. - * @member {array} [loadBalancerBackendAddressPools] The reference of - * LoadBalancerBackendAddressPool resource. - * @member {array} [loadBalancerInboundNatRules] A list of references of - * LoadBalancerInboundNatRules. - * @member {string} [privateIPAddress] Private IP address of the IP + * @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] Defines how a private IP - * address is assigned. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @member {string} [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} [subnet] Subnet bound to 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. @@ -1174,20 +1618,24 @@ export interface Subnet extends SubResource { * @member {array} [subnet.serviceEndpoints] An array of service endpoints. * @member {array} [subnet.serviceEndpointPolicies] An array of service * endpoint policies. + * @member {array} [subnet.interfaceEndpoints] An array of references to + * interface endpoints * @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 {array} [subnet.delegations] Gets an array of references to the + * delegations on the subnet. + * @member {string} [subnet.purpose] A read-only string identifying the + * intention of use for this subnet based on delegations and other user-defined + * properties. * @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 {boolean} [primary] Gets whether this is a primary customer address - * on the network interface. - * @member {object} [publicIPAddress] Public IP address bound to the IP - * configuration. + * @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' @@ -1257,12 +1705,19 @@ export interface Subnet extends SubResource { * @member {array} * [publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] An array of * service endpoint policies. + * @member {array} [publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints * @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 {array} [publicIPAddress.ipConfiguration.subnet.delegations] Gets an + * array of references to the delegations on the subnet. + * @member {string} [publicIPAddress.ipConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. * @member {string} [publicIPAddress.ipConfiguration.subnet.provisioningState] * The provisioning state of the resource. * @member {string} [publicIPAddress.ipConfiguration.subnet.name] The name of @@ -1314,525 +1769,1764 @@ export interface Subnet extends SubResource { * 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 {array} [applicationSecurityGroups] Application security groups in - * which the IP configuration is included. - * @member {string} [provisioningState] The provisioning state of the network - * interface IP configuration. Possible values are: 'Updating', 'Deleting', and + * @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 NetworkInterfaceIPConfiguration extends SubResource { - applicationGatewayBackendAddressPools?: ApplicationGatewayBackendAddressPool[]; - loadBalancerBackendAddressPools?: BackendAddressPool[]; - loadBalancerInboundNatRules?: InboundNatRule[]; +export interface FrontendIPConfiguration extends SubResource { + readonly inboundNatRules?: SubResource[]; + readonly inboundNatPools?: SubResource[]; + readonly outboundRules?: SubResource[]; + readonly loadBalancingRules?: SubResource[]; privateIPAddress?: string; privateIPAllocationMethod?: string; - privateIPAddressVersion?: string; subnet?: Subnet; - primary?: boolean; publicIPAddress?: PublicIPAddress; - applicationSecurityGroups?: ApplicationSecurityGroup[]; - provisioningState?: string; - name?: string; - etag?: string; -} - -/** - * @class - * Initializes a new instance of the ApplicationGatewayBackendAddress class. - * @constructor - * Backend address of an application gateway. - * - * @member {string} [fqdn] Fully qualified domain name (FQDN). - * @member {string} [ipAddress] IP address - */ -export interface ApplicationGatewayBackendAddress { - fqdn?: string; - ipAddress?: string; -} - -/** - * @class - * Initializes a new instance of the ApplicationGatewayBackendAddressPool class. - * @constructor - * Backend Address Pool of an application gateway. - * - * @member {array} [backendIPConfigurations] Collection of references to IPs - * defined in network interfaces. - * @member {array} [backendAddresses] Backend addresses - * @member {string} [provisioningState] Provisioning state of the backend - * address pool resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [name] Name of the backend address pool 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 ApplicationGatewayBackendAddressPool extends SubResource { - backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; - backendAddresses?: ApplicationGatewayBackendAddress[]; - provisioningState?: string; - name?: string; - etag?: string; - type?: string; -} - -/** - * @class - * Initializes a new instance of the ApplicationGatewayConnectionDraining class. - * @constructor - * Connection draining allows open connections to a backend server to be active - * for a specified time after the backend server got removed from the - * configuration. - * - * @member {boolean} enabled Whether connection draining is enabled or not. - * @member {number} drainTimeoutInSec The number of seconds connection draining - * is active. Acceptable values are from 1 second to 3600 seconds. - */ -export interface ApplicationGatewayConnectionDraining { - enabled: boolean; - drainTimeoutInSec: number; -} - -/** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHttpSettings class. - * @constructor - * Backend address pool settings of an application gateway. - * - * @member {number} [port] The destination port on the backend. - * @member {string} [protocol] The protocol used to communicate with the - * backend. Possible values are 'Http' and 'Https'. Possible values include: - * 'Http', 'Https' - * @member {string} [cookieBasedAffinity] Cookie based affinity. Possible - * values include: 'Enabled', 'Disabled' - * @member {number} [requestTimeout] Request timeout in seconds. Application - * Gateway will fail the request if response is not received within - * RequestTimeout. Acceptable values are from 1 second to 86400 seconds. - * @member {object} [probe] Probe resource of an application gateway. - * @member {string} [probe.id] Resource ID. - * @member {array} [authenticationCertificates] Array of references to - * application gateway authentication certificates. - * @member {object} [connectionDraining] Connection draining of the backend - * http settings resource. - * @member {boolean} [connectionDraining.enabled] Whether connection draining - * is enabled or not. - * @member {number} [connectionDraining.drainTimeoutInSec] The number of - * seconds connection draining is active. Acceptable values are from 1 second - * to 3600 seconds. - * @member {string} [hostName] Host header to be sent to the backend servers. - * @member {boolean} [pickHostNameFromBackendAddress] Whether to pick host - * header should be picked from the host name of the backend server. Default - * value is false. - * @member {string} [affinityCookieName] Cookie name to use for the affinity - * cookie. - * @member {boolean} [probeEnabled] Whether the probe is enabled. Default value - * is false. - * @member {string} [path] Path which should be used as a prefix for all HTTP - * requests. Null means no path will be prefixed. Default value is null. - * @member {string} [provisioningState] Provisioning state of the backend http - * settings resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @member {string} [name] Name of the backend http settings 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 ApplicationGatewayBackendHttpSettings extends SubResource { - port?: number; - protocol?: string; - cookieBasedAffinity?: string; - requestTimeout?: number; - probe?: SubResource; - authenticationCertificates?: SubResource[]; - connectionDraining?: ApplicationGatewayConnectionDraining; - hostName?: string; - pickHostNameFromBackendAddress?: boolean; - affinityCookieName?: string; - probeEnabled?: boolean; - path?: string; + publicIPPrefix?: SubResource; provisioningState?: string; name?: string; etag?: string; - type?: string; + zones?: string[]; } /** * @class - * Initializes a new instance of the ApplicationGatewayBackendHealthServer class. + * Initializes a new instance of the VirtualNetworkTap class. * @constructor - * Application gateway backendhealth http settings. + * Virtual Network Tap resource * - * @member {string} [address] IP address or FQDN of backend server. - * @member {object} [ipConfiguration] Reference of IP configuration of backend - * server. - * @member {array} [ipConfiguration.applicationGatewayBackendAddressPools] The - * reference of ApplicationGatewayBackendAddressPool resource. - * @member {array} [ipConfiguration.loadBalancerBackendAddressPools] The - * reference of LoadBalancerBackendAddressPool resource. - * @member {array} [ipConfiguration.loadBalancerInboundNatRules] A list of - * references of LoadBalancerInboundNatRules. - * @member {string} [ipConfiguration.privateIPAddress] Private IP address of - * the IP configuration. - * @member {string} [ipConfiguration.privateIPAllocationMethod] Defines how a - * private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. - * Possible values include: 'Static', 'Dynamic' - * @member {string} [ipConfiguration.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} [ipConfiguration.subnet] Subnet bound to the IP - * 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] - * A collection of security rules of the network security group. + * @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} - * [ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. + * [destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] The + * reference to Virtual Network Taps. * @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. + * [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} - * [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', + * [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} [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 {boolean} [ipConfiguration.primary] Gets whether this is a primary - * customer address on the network interface. - * @member {object} [ipConfiguration.publicIPAddress] Public IP address bound - * to the IP configuration. - * @member {object} [ipConfiguration.publicIPAddress.sku] The public IP address - * SKU. - * @member {string} [ipConfiguration.publicIPAddress.sku.name] Name of a public - * IP address SKU. Possible values include: 'Basic', 'Standard' - * @member {string} [ipConfiguration.publicIPAddress.publicIPAllocationMethod] + * @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.interfaceEndpoints] An + * array of references to interface endpoints + * @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 {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.delegations] Gets an + * array of references to the delegations on the subnet. + * @member {string} [destinationNetworkInterfaceIPConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @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} [ipConfiguration.publicIPAddress.publicIPAddressVersion] + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. * Possible values include: 'IPv4', 'IPv6' - * @member {object} [ipConfiguration.publicIPAddress.ipConfiguration] The IP - * configuration associated with the public IP address. + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] + * The IP configuration associated with the public IP address. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] The - * private IP address of the IP configuration. + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] * The private IP allocation method. Possible values are 'Static' and * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @member {object} [ipConfiguration.publicIPAddress.ipConfiguration.subnet] + * @member {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] * The reference of the subnet resource. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] The - * address prefix for the subnet. + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] * List of address prefixes for the subnet. * @member {object} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] * The reference of the NetworkSecurityGroup resource. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] * A collection of security rules of the network security group. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] * The default security rules of network security group. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] * A collection of references to network interfaces. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] * A collection of references to subnets. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] * The resource GUID property of the network security group resource. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] * The provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] * A unique read-only string that changes whenever the resource is updated. * @member {object} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] The - * reference of the RouteTable resource. + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] * Collection of routes contained within a route table. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] * A collection of references to subnets. * @member {boolean} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] + * [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} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] * The provisioning state of the resource. Possible values are: 'Updating', * 'Deleting', and 'Failed'. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] * Gets a unique read-only string that changes whenever the resource is * updated. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] An - * array of service endpoints. + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] * An array of service endpoint policies. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] * Gets an array of references to the network interface IP configurations using * subnet. * @member {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] * Gets an array of references to the external resources using subnet. + * @member {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] * The provisioning state of the resource. * @member {string} - * [ipConfiguration.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. + * [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} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.etag] A unique - * read-only string that changes whenever the resource is updated. + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. * @member {object} - * [ipConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] The - * reference of the public IP resource. + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. * @member {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.provisioningState] Gets the - * provisioning state of the public IP resource. Possible values are: + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: * 'Updating', 'Deleting', and 'Failed'. - * @member {string} [ipConfiguration.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} [ipConfiguration.publicIPAddress.ipConfiguration.etag] A - * unique read-only string that changes whenever the resource is updated. - * @member {object} [ipConfiguration.publicIPAddress.dnsSettings] The FQDN of - * the DNS record associated with the public IP address. * @member {string} - * [ipConfiguration.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} [ipConfiguration.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 + * [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} [ipConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * @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} [ipConfiguration.publicIPAddress.ipTags] The list of tags - * associated with the public IP address. - * @member {string} [ipConfiguration.publicIPAddress.ipAddress] The IP address - * associated with the public IP address resource. - * @member {object} [ipConfiguration.publicIPAddress.publicIPPrefix] The Public - * IP Prefix this Public IP Address should be allocated from. - * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.id] + * @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} [ipConfiguration.publicIPAddress.idleTimeoutInMinutes] The - * idle timeout of the public IP address. - * @member {string} [ipConfiguration.publicIPAddress.resourceGuid] The resource - * GUID property of the public IP resource. - * @member {string} [ipConfiguration.publicIPAddress.provisioningState] The - * provisioning state of the PublicIP resource. Possible values are: + * @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} [ipConfiguration.publicIPAddress.etag] A unique read-only - * string that changes whenever the resource is updated. - * @member {array} [ipConfiguration.publicIPAddress.zones] A list of + * @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} [ipConfiguration.applicationSecurityGroups] Application - * security groups in which the IP configuration is included. - * @member {string} [ipConfiguration.provisioningState] The provisioning state - * of the network interface IP configuration. Possible values are: 'Updating', + * @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} [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 {string} [health] Health of backend server. Possible values include: - * 'Unknown', 'Up', 'Down', 'Partial', 'Draining' - */ -export interface ApplicationGatewayBackendHealthServer { - address?: string; - ipConfiguration?: NetworkInterfaceIPConfiguration; - health?: string; -} - -/** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHealthHttpSettings class. - * @constructor - * Application gateway BackendHealthHttp settings. - * - * @member {object} [backendHttpSettings] Reference of an - * ApplicationGatewayBackendHttpSettings resource. - * @member {number} [backendHttpSettings.port] The destination port on the - * backend. - * @member {string} [backendHttpSettings.protocol] The protocol used to - * communicate with the backend. Possible values are 'Http' and 'Https'. - * Possible values include: 'Http', 'Https' - * @member {string} [backendHttpSettings.cookieBasedAffinity] Cookie based - * affinity. Possible values include: 'Enabled', 'Disabled' - * @member {number} [backendHttpSettings.requestTimeout] Request timeout in - * seconds. Application Gateway will fail the request if response is not - * received within RequestTimeout. Acceptable values are from 1 second to 86400 - * seconds. - * @member {object} [backendHttpSettings.probe] Probe resource of an - * application gateway. - * @member {string} [backendHttpSettings.probe.id] Resource ID. - * @member {array} [backendHttpSettings.authenticationCertificates] Array of - * references to application gateway authentication certificates. - * @member {object} [backendHttpSettings.connectionDraining] Connection - * draining of the backend http settings resource. - * @member {boolean} [backendHttpSettings.connectionDraining.enabled] Whether - * connection draining is enabled or not. - * @member {number} [backendHttpSettings.connectionDraining.drainTimeoutInSec] - * The number of seconds connection draining is active. Acceptable values are - * from 1 second to 3600 seconds. - * @member {string} [backendHttpSettings.hostName] Host header to be sent to - * the backend servers. - * @member {boolean} [backendHttpSettings.pickHostNameFromBackendAddress] - * Whether to pick host header should be picked from the host name of the - * backend server. Default value is false. - * @member {string} [backendHttpSettings.affinityCookieName] Cookie name to use - * for the affinity cookie. - * @member {boolean} [backendHttpSettings.probeEnabled] Whether the probe is - * enabled. Default value is false. - * @member {string} [backendHttpSettings.path] Path which should be used as a - * prefix for all HTTP requests. Null means no path will be prefixed. Default - * value is null. - * @member {string} [backendHttpSettings.provisioningState] Provisioning state - * of the backend http settings resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @member {string} [backendHttpSettings.name] Name of the backend http - * settings that is unique within an Application Gateway. - * @member {string} [backendHttpSettings.etag] A unique read-only string that - * changes whenever the resource is updated. - * @member {string} [backendHttpSettings.type] Type of the resource. - * @member {array} [servers] List of ApplicationGatewayBackendHealthServer - * resources. - */ -export interface ApplicationGatewayBackendHealthHttpSettings { - backendHttpSettings?: ApplicationGatewayBackendHttpSettings; - servers?: ApplicationGatewayBackendHealthServer[]; -} - -/** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHealthPool class. - * @constructor - * Application gateway BackendHealth pool. - * - * @member {object} [backendAddressPool] Reference of an - * ApplicationGatewayBackendAddressPool resource. - * @member {array} [backendAddressPool.backendIPConfigurations] Collection of - * references to IPs defined in network interfaces. - * @member {array} [backendAddressPool.backendAddresses] Backend addresses - * @member {string} [backendAddressPool.provisioningState] Provisioning state - * of the backend address pool resource. Possible values are: 'Updating', + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] Gets an + * array of references to the delegations on the subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.purpose] A read-only + * string identifying the intention of use for this subnet based on delegations + * and other user-defined properties. + * @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} [backendAddressPool.name] Name of the backend address pool - * that is unique within an Application Gateway. - * @member {string} [backendAddressPool.etag] A unique read-only string that - * changes whenever the resource is updated. - * @member {string} [backendAddressPool.type] Type of the resource. - * @member {array} [backendHttpSettingsCollection] List of - * ApplicationGatewayBackendHealthHttpSettings resources. - */ -export interface ApplicationGatewayBackendHealthPool { - backendAddressPool?: ApplicationGatewayBackendAddressPool; - backendHttpSettingsCollection?: ApplicationGatewayBackendHealthHttpSettings[]; -} - -/** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHealth class. - * @constructor - * List of ApplicationGatewayBackendHealthPool resources. - * - * @member {array} [backendAddressPools] + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] + * The reference of the public IP resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] The + * list of tags associated with the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] A + * list of availability zones denoting the IP allocated for the resource needs + * to come from. + * @member {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] The + * reference of the Public IP Prefix resource. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] Resource + * ID. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.provisioningState] Gets the + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [destinationLoadBalancerFrontEndIPConfiguration.name] The + * name of the resource that is unique within a resource group. This name can + * be used to access the resource. + * @member {string} [destinationLoadBalancerFrontEndIPConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} [destinationLoadBalancerFrontEndIPConfiguration.zones] A + * list of availability zones denoting the IP allocated for the resource needs + * to come from. + * @member {number} [destinationPort] The VXLAN destination port that will + * receive the tapped traffic. + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. */ -export interface ApplicationGatewayBackendHealth { - backendAddressPools?: ApplicationGatewayBackendHealthPool[]; +export interface VirtualNetworkTap extends Resource { + networkInterfaceTapConfigurations?: NetworkInterfaceTapConfiguration[]; + destinationNetworkInterfaceIPConfiguration?: NetworkInterfaceIPConfiguration; + destinationLoadBalancerFrontEndIPConfiguration?: FrontendIPConfiguration; + destinationPort?: number; + etag?: string; } /** * @class - * Initializes a new instance of the ApplicationGatewaySku class. + * Initializes a new instance of the BackendAddressPool class. * @constructor - * SKU of an application gateway + * Pool of backend IP addresses. * - * @member {string} [name] Name of an application gateway SKU. Possible values - * include: 'Standard_Small', 'Standard_Medium', 'Standard_Large', - * 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' - * @member {string} [tier] Tier of an application gateway. Possible values - * include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - * @member {number} [capacity] Capacity (instance count) of an application - * gateway. + * @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 ApplicationGatewaySku { +export interface BackendAddressPool extends SubResource { + readonly backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; + readonly loadBalancingRules?: SubResource[]; + readonly outboundRule?: SubResource; + provisioningState?: string; name?: string; - tier?: string; - capacity?: number; + etag?: string; } /** * @class - * Initializes a new instance of the ApplicationGatewaySslPolicy class. + * Initializes a new instance of the InboundNatRule class. * @constructor - * Application Gateway Ssl policy. + * Inbound NAT rule of the load balancer. + * + * @member {object} [frontendIPConfiguration] A reference to frontend IP + * addresses. + * @member {string} [frontendIPConfiguration.id] Resource ID. + * @member {object} [backendIPConfiguration] A reference to a private IP + * address defined on a network interface of a VM. Traffic sent to the frontend + * port of each of the frontend IP configurations is forwarded to the backend + * IP. + * @member {array} [backendIPConfiguration.virtualNetworkTaps] The reference to + * Virtual Network Taps. + * @member {array} + * [backendIPConfiguration.applicationGatewayBackendAddressPools] The reference + * of ApplicationGatewayBackendAddressPool resource. + * @member {array} [backendIPConfiguration.loadBalancerBackendAddressPools] The + * reference of LoadBalancerBackendAddressPool resource. + * @member {array} [backendIPConfiguration.loadBalancerInboundNatRules] A list + * of references of LoadBalancerInboundNatRules. + * @member {string} [backendIPConfiguration.privateIPAddress] Private IP + * address of the IP configuration. + * @member {string} [backendIPConfiguration.privateIPAllocationMethod] Defines + * how a private IP address is assigned. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} [backendIPConfiguration.privateIPAddressVersion] Available + * from Api-Version 2016-03-30 onwards, it represents whether the specific + * ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values + * are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + * @member {object} [backendIPConfiguration.subnet] Subnet bound to the IP + * configuration. + * @member {string} [backendIPConfiguration.subnet.addressPrefix] The address + * prefix for the subnet. + * @member {array} [backendIPConfiguration.subnet.addressPrefixes] List of + * address prefixes for the subnet. + * @member {object} [backendIPConfiguration.subnet.networkSecurityGroup] The + * reference of the NetworkSecurityGroup resource. + * @member {array} + * [backendIPConfiguration.subnet.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * @member {array} + * [backendIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [backendIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] A + * collection of references to network interfaces. + * @member {array} [backendIPConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [backendIPConfiguration.subnet.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * @member {string} + * [backendIPConfiguration.subnet.networkSecurityGroup.provisioningState] The + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [backendIPConfiguration.subnet.networkSecurityGroup.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {object} [backendIPConfiguration.subnet.routeTable] The reference of + * the RouteTable resource. + * @member {array} [backendIPConfiguration.subnet.routeTable.routes] Collection + * of routes contained within a route table. + * @member {array} [backendIPConfiguration.subnet.routeTable.subnets] A + * collection of references to subnets. + * @member {boolean} + * [backendIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets + * or sets whether to disable the routes learned by BGP on that route table. + * True means disable. + * @member {string} + * [backendIPConfiguration.subnet.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [backendIPConfiguration.subnet.routeTable.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * @member {array} [backendIPConfiguration.subnet.serviceEndpoints] An array of + * service endpoints. + * @member {array} [backendIPConfiguration.subnet.serviceEndpointPolicies] An + * array of service endpoint policies. + * @member {array} [backendIPConfiguration.subnet.interfaceEndpoints] An array + * of references to interface endpoints + * @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 {array} [backendIPConfiguration.subnet.delegations] Gets an array of + * references to the delegations on the subnet. + * @member {string} [backendIPConfiguration.subnet.purpose] A read-only string + * identifying the intention of use for this subnet based on delegations and + * other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @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 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; +} + +/** + * @class + * Initializes a new instance of the NetworkInterfaceIPConfiguration class. + * @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 + * LoadBalancerBackendAddressPool resource. + * @member {array} [loadBalancerInboundNatRules] A list of references of + * LoadBalancerInboundNatRules. + * @member {string} [privateIPAddress] Private IP address of the IP + * configuration. + * @member {string} [privateIPAllocationMethod] Defines how a private IP + * address is assigned. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' + * @member {string} [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} [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 + * 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.interfaceEndpoints] An array of references to + * interface endpoints + * @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 {array} [subnet.delegations] Gets an array of references to the + * delegations on the subnet. + * @member {string} [subnet.purpose] A read-only string identifying the + * intention of use for this subnet based on delegations and other user-defined + * properties. + * @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 {boolean} [primary] Gets whether this is a primary customer address + * on the network interface. + * @member {object} [publicIPAddress] Public IP address bound to the IP + * configuration. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} [publicIPAddress.ipConfiguration.subnet.delegations] Gets an + * array of references to the delegations on the subnet. + * @member {string} [publicIPAddress.ipConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @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 {array} [applicationSecurityGroups] Application security groups in + * which the IP configuration is included. + * @member {string} [provisioningState] The provisioning state of the network + * interface IP configuration. 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 NetworkInterfaceIPConfiguration extends SubResource { + virtualNetworkTaps?: VirtualNetworkTap[]; + applicationGatewayBackendAddressPools?: ApplicationGatewayBackendAddressPool[]; + loadBalancerBackendAddressPools?: BackendAddressPool[]; + loadBalancerInboundNatRules?: InboundNatRule[]; + privateIPAddress?: string; + privateIPAllocationMethod?: string; + privateIPAddressVersion?: string; + subnet?: Subnet; + primary?: boolean; + publicIPAddress?: PublicIPAddress; + applicationSecurityGroups?: ApplicationSecurityGroup[]; + provisioningState?: string; + name?: string; + etag?: string; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayBackendAddress class. + * @constructor + * Backend address of an application gateway. + * + * @member {string} [fqdn] Fully qualified domain name (FQDN). + * @member {string} [ipAddress] IP address + */ +export interface ApplicationGatewayBackendAddress { + fqdn?: string; + ipAddress?: string; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayBackendAddressPool class. + * @constructor + * Backend Address Pool of an application gateway. + * + * @member {array} [backendIPConfigurations] Collection of references to IPs + * defined in network interfaces. + * @member {array} [backendAddresses] Backend addresses + * @member {string} [provisioningState] Provisioning state of the backend + * address pool resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [name] Name of the backend address pool 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 ApplicationGatewayBackendAddressPool extends SubResource { + backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; + backendAddresses?: ApplicationGatewayBackendAddress[]; + provisioningState?: string; + name?: string; + etag?: string; + type?: string; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayConnectionDraining class. + * @constructor + * Connection draining allows open connections to a backend server to be active + * for a specified time after the backend server got removed from the + * configuration. + * + * @member {boolean} enabled Whether connection draining is enabled or not. + * @member {number} drainTimeoutInSec The number of seconds connection draining + * is active. Acceptable values are from 1 second to 3600 seconds. + */ +export interface ApplicationGatewayConnectionDraining { + enabled: boolean; + drainTimeoutInSec: number; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayBackendHttpSettings class. + * @constructor + * Backend address pool settings of an application gateway. + * + * @member {number} [port] The destination port on the backend. + * @member {string} [protocol] The protocol used to communicate with the + * backend. Possible values are 'Http' and 'Https'. Possible values include: + * 'Http', 'Https' + * @member {string} [cookieBasedAffinity] Cookie based affinity. Possible + * values include: 'Enabled', 'Disabled' + * @member {number} [requestTimeout] Request timeout in seconds. Application + * Gateway will fail the request if response is not received within + * RequestTimeout. Acceptable values are from 1 second to 86400 seconds. + * @member {object} [probe] Probe resource of an application gateway. + * @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 + * is enabled or not. + * @member {number} [connectionDraining.drainTimeoutInSec] The number of + * seconds connection draining is active. Acceptable values are from 1 second + * to 3600 seconds. + * @member {string} [hostName] Host header to be sent to the backend servers. + * @member {boolean} [pickHostNameFromBackendAddress] Whether to pick host + * header should be picked from the host name of the backend server. Default + * value is false. + * @member {string} [affinityCookieName] Cookie name to use for the affinity + * cookie. + * @member {boolean} [probeEnabled] Whether the probe is enabled. Default value + * is false. + * @member {string} [path] Path which should be used as a prefix for all HTTP + * requests. Null means no path will be prefixed. Default value is null. + * @member {string} [provisioningState] Provisioning state of the backend http + * settings resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [name] Name of the backend http settings 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 ApplicationGatewayBackendHttpSettings extends SubResource { + port?: number; + protocol?: string; + cookieBasedAffinity?: string; + requestTimeout?: number; + probe?: SubResource; + authenticationCertificates?: SubResource[]; + trustedRootCertificates?: SubResource[]; + connectionDraining?: ApplicationGatewayConnectionDraining; + hostName?: string; + pickHostNameFromBackendAddress?: boolean; + affinityCookieName?: string; + probeEnabled?: boolean; + path?: string; + provisioningState?: string; + name?: string; + etag?: string; + type?: string; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayBackendHealthServer class. + * @constructor + * Application gateway backendhealth http settings. + * + * @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 + * reference of LoadBalancerBackendAddressPool resource. + * @member {array} [ipConfiguration.loadBalancerInboundNatRules] A list of + * references of LoadBalancerInboundNatRules. + * @member {string} [ipConfiguration.privateIPAddress] Private IP address of + * the IP configuration. + * @member {string} [ipConfiguration.privateIPAllocationMethod] Defines how a + * private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. + * Possible values include: 'Static', 'Dynamic' + * @member {string} [ipConfiguration.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} [ipConfiguration.subnet] Subnet bound to the IP + * 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] + * A collection of security rules of the network security group. + * @member {array} + * [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. + * @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.interfaceEndpoints] An array of + * references to interface endpoints + * @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 {array} [ipConfiguration.subnet.delegations] Gets an array of + * references to the delegations on the subnet. + * @member {string} [ipConfiguration.subnet.purpose] A read-only string + * identifying the intention of use for this subnet based on delegations and + * other user-defined properties. + * @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 {boolean} [ipConfiguration.primary] Gets whether this is a primary + * customer address on the network interface. + * @member {object} [ipConfiguration.publicIPAddress] Public IP address bound + * to the IP configuration. + * @member {object} [ipConfiguration.publicIPAddress.sku] The public IP address + * SKU. + * @member {string} [ipConfiguration.publicIPAddress.sku.name] Name of a public + * IP address SKU. Possible values include: 'Basic', 'Standard' + * @member {string} [ipConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {string} [ipConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {object} [ipConfiguration.publicIPAddress.ipConfiguration] The IP + * configuration associated with the public IP address. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] The + * private IP address of the IP configuration. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] + * The private IP allocation method. Possible values are 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * @member {object} [ipConfiguration.publicIPAddress.ipConfiguration.subnet] + * The reference of the subnet resource. + * @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. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] + * A collection of references to network interfaces. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] + * A collection of references to subnets. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. + * @member {object} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] The + * reference of the RouteTable resource. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] + * A collection of references to subnets. + * @member {boolean} + * [ipConfiguration.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} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] An + * array of service endpoints. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] + * Gets an array of references to the network interface IP configurations using + * subnet. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * @member {array} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] Gets an + * array of references to the delegations on the subnet. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] A read-only + * string identifying the intention of use for this subnet based on delegations + * and other user-defined properties. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * @member {string} + * [ipConfiguration.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} + * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {object} + * [ipConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] The + * reference of the public IP resource. + * @member {string} + * [ipConfiguration.publicIPAddress.ipConfiguration.provisioningState] Gets the + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [ipConfiguration.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} [ipConfiguration.publicIPAddress.ipConfiguration.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {object} [ipConfiguration.publicIPAddress.dnsSettings] The FQDN of + * the DNS record associated with the public IP address. + * @member {string} + * [ipConfiguration.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} [ipConfiguration.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} [ipConfiguration.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} [ipConfiguration.publicIPAddress.ipTags] The list of tags + * associated with the public IP address. + * @member {string} [ipConfiguration.publicIPAddress.ipAddress] The IP address + * associated with the public IP address resource. + * @member {object} [ipConfiguration.publicIPAddress.publicIPPrefix] The Public + * IP Prefix this Public IP Address should be allocated from. + * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.id] + * Resource ID. + * @member {number} [ipConfiguration.publicIPAddress.idleTimeoutInMinutes] The + * idle timeout of the public IP address. + * @member {string} [ipConfiguration.publicIPAddress.resourceGuid] The resource + * GUID property of the public IP resource. + * @member {string} [ipConfiguration.publicIPAddress.provisioningState] The + * provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [ipConfiguration.publicIPAddress.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {array} [ipConfiguration.publicIPAddress.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. + * @member {array} [ipConfiguration.applicationSecurityGroups] Application + * security groups in which the IP configuration is included. + * @member {string} [ipConfiguration.provisioningState] The provisioning state + * of the network interface IP configuration. 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 {string} [health] Health of backend server. Possible values include: + * 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + */ +export interface ApplicationGatewayBackendHealthServer { + address?: string; + ipConfiguration?: NetworkInterfaceIPConfiguration; + health?: string; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayBackendHealthHttpSettings class. + * @constructor + * Application gateway BackendHealthHttp settings. + * + * @member {object} [backendHttpSettings] Reference of an + * ApplicationGatewayBackendHttpSettings resource. + * @member {number} [backendHttpSettings.port] The destination port on the + * backend. + * @member {string} [backendHttpSettings.protocol] The protocol used to + * communicate with the backend. Possible values are 'Http' and 'Https'. + * Possible values include: 'Http', 'Https' + * @member {string} [backendHttpSettings.cookieBasedAffinity] Cookie based + * affinity. Possible values include: 'Enabled', 'Disabled' + * @member {number} [backendHttpSettings.requestTimeout] Request timeout in + * seconds. Application Gateway will fail the request if response is not + * received within RequestTimeout. Acceptable values are from 1 second to 86400 + * seconds. + * @member {object} [backendHttpSettings.probe] Probe resource of an + * application gateway. + * @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 + * connection draining is enabled or not. + * @member {number} [backendHttpSettings.connectionDraining.drainTimeoutInSec] + * The number of seconds connection draining is active. Acceptable values are + * from 1 second to 3600 seconds. + * @member {string} [backendHttpSettings.hostName] Host header to be sent to + * the backend servers. + * @member {boolean} [backendHttpSettings.pickHostNameFromBackendAddress] + * Whether to pick host header should be picked from the host name of the + * backend server. Default value is false. + * @member {string} [backendHttpSettings.affinityCookieName] Cookie name to use + * for the affinity cookie. + * @member {boolean} [backendHttpSettings.probeEnabled] Whether the probe is + * enabled. Default value is false. + * @member {string} [backendHttpSettings.path] Path which should be used as a + * prefix for all HTTP requests. Null means no path will be prefixed. Default + * value is null. + * @member {string} [backendHttpSettings.provisioningState] Provisioning state + * of the backend http settings resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [backendHttpSettings.name] Name of the backend http + * settings that is unique within an Application Gateway. + * @member {string} [backendHttpSettings.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {string} [backendHttpSettings.type] Type of the resource. + * @member {array} [servers] List of ApplicationGatewayBackendHealthServer + * resources. + */ +export interface ApplicationGatewayBackendHealthHttpSettings { + backendHttpSettings?: ApplicationGatewayBackendHttpSettings; + servers?: ApplicationGatewayBackendHealthServer[]; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayBackendHealthPool class. + * @constructor + * Application gateway BackendHealth pool. + * + * @member {object} [backendAddressPool] Reference of an + * ApplicationGatewayBackendAddressPool resource. + * @member {array} [backendAddressPool.backendIPConfigurations] Collection of + * references to IPs defined in network interfaces. + * @member {array} [backendAddressPool.backendAddresses] Backend addresses + * @member {string} [backendAddressPool.provisioningState] Provisioning state + * of the backend address pool resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [backendAddressPool.name] Name of the backend address pool + * that is unique within an Application Gateway. + * @member {string} [backendAddressPool.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {string} [backendAddressPool.type] Type of the resource. + * @member {array} [backendHttpSettingsCollection] List of + * ApplicationGatewayBackendHealthHttpSettings resources. + */ +export interface ApplicationGatewayBackendHealthPool { + backendAddressPool?: ApplicationGatewayBackendAddressPool; + backendHttpSettingsCollection?: ApplicationGatewayBackendHealthHttpSettings[]; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayBackendHealth class. + * @constructor + * List of ApplicationGatewayBackendHealthPool resources. + * + * @member {array} [backendAddressPools] + */ +export interface ApplicationGatewayBackendHealth { + backendAddressPools?: ApplicationGatewayBackendHealthPool[]; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewaySku class. + * @constructor + * SKU of an application gateway + * + * @member {string} [name] Name of an application gateway SKU. Possible values + * include: 'Standard_Small', 'Standard_Medium', 'Standard_Large', + * 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' + * @member {string} [tier] Tier of an application gateway. Possible values + * include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + * @member {number} [capacity] Capacity (instance count) of an application + * gateway. + */ +export interface ApplicationGatewaySku { + name?: string; + tier?: string; + capacity?: number; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewaySslPolicy class. + * @constructor + * Application Gateway Ssl policy. * * @member {array} [disabledSslProtocols] Ssl protocols to be disabled on * application gateway. @@ -1884,22 +3578,48 @@ export interface ApplicationGatewayIPConfiguration extends SubResource { /** * @class - * Initializes a new instance of the ApplicationGatewayAuthenticationCertificate class. + * Initializes a new instance of the ApplicationGatewayAuthenticationCertificate class. + * @constructor + * Authentication certificates of an application gateway. + * + * @member {string} [data] Certificate public data. + * @member {string} [provisioningState] Provisioning state of the + * authentication certificate resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [name] Name of the authentication 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 ApplicationGatewayAuthenticationCertificate extends SubResource { + data?: string; + provisioningState?: string; + name?: string; + etag?: string; + type?: string; +} + +/** + * @class + * Initializes a new instance of the ApplicationGatewayTrustedRootCertificate class. * @constructor - * Authentication certificates of an application gateway. + * Trusted Root certificates of an application gateway. * * @member {string} [data] Certificate public data. - * @member {string} [provisioningState] Provisioning state of the - * authentication certificate resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @member {string} [name] Name of the authentication certificate that is - * unique within an Application Gateway. + * @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 ApplicationGatewayAuthenticationCertificate extends SubResource { +export interface ApplicationGatewayTrustedRootCertificate extends SubResource { data?: string; + keyvaultSecretId?: string; provisioningState?: string; name?: string; etag?: string; @@ -2372,6 +4092,8 @@ 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 @@ -2433,6 +4155,7 @@ export interface ApplicationGateway extends Resource { readonly operationalState?: string; gatewayIPConfigurations?: ApplicationGatewayIPConfiguration[]; authenticationCertificates?: ApplicationGatewayAuthenticationCertificate[]; + trustedRootCertificates?: ApplicationGatewayTrustedRootCertificate[]; sslCertificates?: ApplicationGatewaySslCertificate[]; frontendIPConfigurations?: ApplicationGatewayFrontendIPConfiguration[]; frontendPorts?: ApplicationGatewayFrontendPort[]; @@ -2573,6 +4296,29 @@ export interface TagsObject { tags?: { [propertyName: string]: string }; } +/** + * @class + * Initializes a new instance of the AvailableDelegation class. + * @constructor + * The serviceName of an AvailableDelegation indicates a possible delegation + * for a subnet. + * + * @member {string} [name] The name of the AvailableDelegation resource. + * @member {string} [id] A unique identifier of the AvailableDelegation + * resource. + * @member {string} [type] Resource type. + * @member {string} [serviceName] The name of the service and resource + * @member {array} [actions] Describes the actions permitted to the service + * upon delegation + */ +export interface AvailableDelegation { + name?: string; + id?: string; + type?: string; + serviceName?: string; + actions?: string[]; +} + /** * @class * Initializes a new instance of the AzureFirewallIPConfiguration class. @@ -2584,11 +4330,8 @@ export interface TagsObject { * @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. + * 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' @@ -2600,11 +4343,10 @@ export interface TagsObject { export interface AzureFirewallIPConfiguration extends SubResource { privateIPAddress?: string; subnet?: SubResource; - internalPublicIpAddress?: SubResource; publicIPAddress?: SubResource; provisioningState?: string; name?: string; - etag?: string; + readonly etag?: string; } /** @@ -2646,14 +4388,16 @@ export interface AzureFirewallApplicationRuleProtocol { * @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} [targetFqdns] List of FQDNs 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[]; + targetFqdns?: string[]; + fqdnTags?: string[]; } /** @@ -2685,6 +4429,75 @@ export interface AzureFirewallApplicationRuleCollection extends SubResource { readonly etag?: string; } +/** + * @class + * Initializes a new instance of the AzureFirewallNatRCAction class. + * @constructor + * AzureFirewall NAT Rule Collection Action. + * + * @member {string} [type] The type of action. Possible values include: 'Snat', + * 'Dnat' + */ +export interface AzureFirewallNatRCAction { + type?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallNatRule class. + * @constructor + * Properties of a NAT rule. + * + * @member {string} [name] Name of the NAT rule. + * @member {string} [description] Description of the rule. + * @member {array} [sourceAddresses] List of source IP addresses for this rule. + * @member {array} [destinationAddresses] List of destination IP addresses for + * this rule. + * @member {array} [destinationPorts] List of destination ports. + * @member {array} [protocols] Array of AzureFirewallNetworkRuleProtocols + * applicable to this NAT rule. + * @member {string} [translatedAddress] The translated address for this NAT + * rule. + * @member {string} [translatedPort] The translated port for this NAT rule. + */ +export interface AzureFirewallNatRule { + name?: string; + description?: string; + sourceAddresses?: string[]; + destinationAddresses?: string[]; + destinationPorts?: string[]; + protocols?: string[]; + translatedAddress?: string; + translatedPort?: string; +} + +/** + * @class + * Initializes a new instance of the AzureFirewallNatRuleCollection class. + * @constructor + * NAT rule collection resource + * + * @member {number} [priority] Priority of the NAT rule collection resource. + * @member {object} [action] The action type of a NAT rule collection + * @member {string} [action.type] The type of action. Possible values include: + * 'Snat', 'Dnat' + * @member {array} [rules] Collection of rules used by a NAT rule collection. + * @member {string} [provisioningState] The provisioning state of the resource. + * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + * @member {string} [name] Gets name of the resource that is unique within a + * resource group. This name can be used to access the resource. + * @member {string} [etag] Gets a unique read-only string that changes whenever + * the resource is updated. + */ +export interface AzureFirewallNatRuleCollection extends SubResource { + priority?: number; + action?: AzureFirewallNatRCAction; + rules?: AzureFirewallNatRule[]; + provisioningState?: string; + name?: string; + readonly etag?: string; +} + /** * @class * Initializes a new instance of the AzureFirewallNetworkRule class. @@ -2743,9 +4556,11 @@ export interface AzureFirewallNetworkRuleCollection extends SubResource { * Azure Firewall resource * * @member {array} [applicationRuleCollections] Collection of application rule - * collections used by a Azure Firewall. + * collections used by Azure Firewall. + * @member {array} [natRuleCollections] Collection of NAT rule collections used + * by Azure Firewall. * @member {array} [networkRuleCollections] Collection of network rule - * collections used by a Azure Firewall. + * collections used by Azure Firewall. * @member {array} [ipConfigurations] IP configuration of the Azure Firewall * resource. * @member {string} [provisioningState] The provisioning state of the resource. @@ -2755,12 +4570,30 @@ export interface AzureFirewallNetworkRuleCollection extends SubResource { */ export interface AzureFirewall extends Resource { applicationRuleCollections?: AzureFirewallApplicationRuleCollection[]; + natRuleCollections?: AzureFirewallNatRuleCollection[]; networkRuleCollections?: AzureFirewallNetworkRuleCollection[]; ipConfigurations?: AzureFirewallIPConfiguration[]; provisioningState?: string; readonly etag?: string; } +/** + * @class + * Initializes a new instance of the AzureFirewallFqdnTag class. + * @constructor + * Azure Firewall FQDN Tag Resource + * + * @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 AzureFirewallFqdnTag extends Resource { + readonly provisioningState?: string; + readonly fqdnTagName?: string; + readonly etag?: string; +} + /** * @class * Initializes a new instance of the DnsNameAvailabilityResult class. @@ -2921,6 +4754,18 @@ export interface ExpressRouteCircuitStats { secondarybytesOut?: number; } +/** + * @class + * Initializes a new instance of the ExpressRouteConnectionId class. + * @constructor + * The ID of the ExpressRouteConnection. + * + * @member {string} [id] The ID of the ExpressRouteConnection. + */ +export interface ExpressRouteConnectionId { + readonly id?: string; +} + /** * @class * Initializes a new instance of the ExpressRouteCircuitConnection class. @@ -3054,6 +4899,9 @@ export interface ExpressRouteCircuitConnection extends SubResource { * @member {string} [ipv6PeeringConfig.state] The state of peering. Possible * values are: 'Disabled' and 'Enabled'. Possible values include: 'Disabled', * 'Enabled' + * @member {object} [expressRouteConnection] The ExpressRoute connection. + * @member {string} [expressRouteConnection.id] The ID of the + * ExpressRouteConnection. * @member {array} [connections] The list of circuit connections associated * with Azure Private Peering for this circuit. * @member {string} [name] Gets name of the resource that is unique within a @@ -3079,6 +4927,7 @@ export interface ExpressRouteCircuitPeering extends SubResource { lastModifiedBy?: string; routeFilter?: RouteFilter; ipv6PeeringConfig?: Ipv6ExpressRouteCircuitPeeringConfig; + expressRouteConnection?: ExpressRouteConnectionId; connections?: ExpressRouteCircuitConnection[]; name?: string; readonly etag?: string; @@ -3394,420 +5243,339 @@ export interface ExpressRouteServiceProvider extends Resource { * and the number of prefixes that have been received from a neighbor or peer * group. */ -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; -} - -/** - * @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; +export interface ExpressRouteCrossConnectionRoutesTableSummary { + neighbor?: string; + asn?: number; + upDown?: string; + stateOrPrefixesReceived?: string; } /** * @class - * Initializes a new instance of the LoadBalancerSku class. + * Initializes a new instance of the ExpressRouteCrossConnectionsRoutesTableSummaryListResult class. * @constructor - * SKU of a load balancer + * Response for ListRoutesTable associated with the Express Route Cross + * Connections. * - * @member {string} [name] Name of a load balancer SKU. Possible values - * include: 'Basic', 'Standard' + * @member {array} [value] A list of the routes table. + * @member {string} [nextLink] The URL to get the next set of results. */ -export interface LoadBalancerSku { - name?: string; +export interface ExpressRouteCrossConnectionsRoutesTableSummaryListResult { + value?: ExpressRouteCrossConnectionRoutesTableSummary[]; + readonly nextLink?: string; } /** * @class - * Initializes a new instance of the FrontendIPConfiguration class. + * Initializes a new instance of the ExpressRouteCircuitReference class. * @constructor - * Frontend IP address of the load balancer. + * @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 {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 + * @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 {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 {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 VirtualHubId class. + * @constructor + * Virtual Hub identifier. + * + * @member {string} [id] The resource URI for the Virtual Hub where the + * ExpressRoute gateway is or will be deployed. The Virtual Hub resource and + * the ExpressRoute gateway resource reside in the same subscription. + */ +export interface VirtualHubId { + id?: string; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteCircuitPeeringId class. + * @constructor + * ExpressRoute circuit peering identifier. + * + * @member {string} [id] The ID of the ExpressRoute circuit peering. + */ +export interface ExpressRouteCircuitPeeringId { + id?: string; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds class. + * @constructor + * Minimum and maximum number of scale units to deploy. + * + * @member {number} [min] Minimum number of scale units deployed for + * ExpressRoute gateway. + * @member {number} [max] Maximum number of scale units deployed for + * ExpressRoute gateway. + */ +export interface ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds { + min?: number; + max?: number; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteGatewayPropertiesAutoScaleConfiguration class. + * @constructor + * Configuration for auto scaling. + * + * @member {object} [bounds] Minimum and maximum number of scale units to + * deploy. + * @member {number} [bounds.min] Minimum number of scale units deployed for + * ExpressRoute gateway. + * @member {number} [bounds.max] Maximum number of scale units deployed for + * ExpressRoute gateway. + */ +export interface ExpressRouteGatewayPropertiesAutoScaleConfiguration { + bounds?: ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteConnection class. + * @constructor + * ExpressRouteConnection resource. + * + * @member {string} [provisioningState] The provisioning state of the resource. + * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + * @member {object} expressRouteCircuitPeering The ExpressRoute circuit + * peering. + * @member {string} [expressRouteCircuitPeering.id] The ID of the ExpressRoute + * circuit peering. + * @member {string} [authorizationKey] Authorization key to establish the + * connection. + * @member {number} [routingWeight] The routing weight associated to the + * connection. + * @member {string} name The name of the resource. + */ +export interface ExpressRouteConnection extends SubResource { + readonly provisioningState?: string; + expressRouteCircuitPeering: ExpressRouteCircuitPeeringId; + authorizationKey?: string; + routingWeight?: number; + name: string; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteGateway class. + * @constructor + * ExpressRoute gateway resource. + * + * @member {object} [autoScaleConfiguration] Configuration for auto scaling. + * @member {object} [autoScaleConfiguration.bounds] Minimum and maximum number + * of scale units to deploy. + * @member {number} [autoScaleConfiguration.bounds.min] Minimum number of scale + * units deployed for ExpressRoute gateway. + * @member {number} [autoScaleConfiguration.bounds.max] Maximum number of scale + * units deployed for ExpressRoute gateway. + * @member {array} [expressRouteConnections] List of ExpressRoute connections + * to the ExpressRoute gateway. + * @member {string} [provisioningState] The provisioning state of the resource. + * Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + * @member {object} virtualHub The Virtual Hub where the ExpressRoute gateway + * is or will be deployed. + * @member {string} [virtualHub.id] The resource URI for the Virtual Hub where + * the ExpressRoute gateway is or will be deployed. The Virtual Hub resource + * and the ExpressRoute gateway resource reside in the same subscription. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + */ +export interface ExpressRouteGateway extends Resource { + autoScaleConfiguration?: ExpressRouteGatewayPropertiesAutoScaleConfiguration; + readonly expressRouteConnections?: ExpressRouteConnection[]; + readonly provisioningState?: string; + virtualHub: VirtualHubId; + readonly etag?: string; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteGatewayList class. + * @constructor + * List of ExpressRoute gateways. + * + * @member {array} [value] List of ExpressRoute gateways. + */ +export interface ExpressRouteGatewayList { + value?: ExpressRouteGateway[]; +} + +/** + * @class + * Initializes a new instance of the ExpressRouteConnectionList class. + * @constructor + * ExpressRouteConnection list + * + * @member {array} [value] The list of ExpressRoute connections + */ +export interface ExpressRouteConnectionList { + value?: ExpressRouteConnection[]; +} + +/** + * @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[]; } /** @@ -7356,6 +9124,18 @@ export interface ApplicationSecurityGroupListResult extends Array { + readonly nextLink?: string; +} + /** * @class * Initializes a new instance of the AzureFirewallListResult class. @@ -7368,6 +9148,18 @@ export interface AzureFirewallListResult 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. @@ -7467,6 +9259,18 @@ export interface ExpressRouteCrossConnectionPeeringList extends Array { + readonly nextLink?: string; +} + /** * @class * Initializes a new instance of the LoadBalancerListResult class. @@ -7575,6 +9379,18 @@ export interface NetworkInterfaceLoadBalancerListResult extends Array { + readonly nextLink?: string; +} + /** * @class * Initializes a new instance of the NetworkSecurityGroupListResult class. @@ -7816,6 +9632,18 @@ export interface VirtualNetworkPeeringListResult extends Array { + nextLink?: string; +} + /** * @class * Initializes a new instance of the VirtualNetworkGatewayListResult class. diff --git a/lib/services/networkManagement2/lib/models/index.js b/lib/services/networkManagement2/lib/models/index.js index 15a7c91663..f151ba43f3 100644 --- a/lib/services/networkManagement2/lib/models/index.js +++ b/lib/services/networkManagement2/lib/models/index.js @@ -19,11 +19,12 @@ var msRestAzure = require('ms-rest-azure'); exports.BaseResource = msRestAzure.BaseResource; exports.CloudError = msRestAzure.CloudError; exports.SubResource = require('./subResource'); -exports.BackendAddressPool = require('./backendAddressPool'); -exports.InboundNatRule = require('./inboundNatRule'); +exports.NetworkInterfaceTapConfiguration = require('./networkInterfaceTapConfiguration'); exports.Resource = require('./resource'); exports.ApplicationSecurityGroup = require('./applicationSecurityGroup'); exports.SecurityRule = require('./securityRule'); +exports.EndpointService = require('./endpointService'); +exports.InterfaceEndpoint = require('./interfaceEndpoint'); exports.NetworkInterfaceDnsSettings = require('./networkInterfaceDnsSettings'); exports.NetworkInterface = require('./networkInterface'); exports.NetworkSecurityGroup = require('./networkSecurityGroup'); @@ -38,7 +39,12 @@ exports.IpTag = require('./ipTag'); exports.PublicIPAddress = require('./publicIPAddress'); exports.IPConfiguration = require('./iPConfiguration'); exports.ResourceNavigationLink = require('./resourceNavigationLink'); +exports.Delegation = require('./delegation'); 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'); @@ -52,6 +58,7 @@ 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'); @@ -74,14 +81,19 @@ exports.ApplicationGatewayAvailableWafRuleSetsResult = require('./applicationGat exports.ApplicationGatewayAvailableSslOptions = require('./applicationGatewayAvailableSslOptions'); exports.ApplicationGatewaySslPredefinedPolicy = require('./applicationGatewaySslPredefinedPolicy'); exports.TagsObject = require('./tagsObject'); +exports.AvailableDelegation = require('./availableDelegation'); exports.AzureFirewallIPConfiguration = require('./azureFirewallIPConfiguration'); exports.AzureFirewallRCAction = require('./azureFirewallRCAction'); exports.AzureFirewallApplicationRuleProtocol = require('./azureFirewallApplicationRuleProtocol'); exports.AzureFirewallApplicationRule = require('./azureFirewallApplicationRule'); exports.AzureFirewallApplicationRuleCollection = require('./azureFirewallApplicationRuleCollection'); +exports.AzureFirewallNatRCAction = require('./azureFirewallNatRCAction'); +exports.AzureFirewallNatRule = require('./azureFirewallNatRule'); +exports.AzureFirewallNatRuleCollection = require('./azureFirewallNatRuleCollection'); exports.AzureFirewallNetworkRule = require('./azureFirewallNetworkRule'); exports.AzureFirewallNetworkRuleCollection = require('./azureFirewallNetworkRuleCollection'); exports.AzureFirewall = require('./azureFirewall'); +exports.AzureFirewallFqdnTag = require('./azureFirewallFqdnTag'); exports.DnsNameAvailabilityResult = require('./dnsNameAvailabilityResult'); exports.DdosProtectionPlan = require('./ddosProtectionPlan'); exports.EndpointServiceResult = require('./endpointServiceResult'); @@ -89,6 +101,7 @@ exports.ExpressRouteCircuitAuthorization = require('./expressRouteCircuitAuthori exports.ExpressRouteCircuitPeeringConfig = require('./expressRouteCircuitPeeringConfig'); exports.RouteFilterRule = require('./routeFilterRule'); exports.ExpressRouteCircuitStats = require('./expressRouteCircuitStats'); +exports.ExpressRouteConnectionId = require('./expressRouteConnectionId'); exports.ExpressRouteCircuitConnection = require('./expressRouteCircuitConnection'); exports.ExpressRouteCircuitPeering = require('./expressRouteCircuitPeering'); exports.RouteFilter = require('./routeFilter'); @@ -109,8 +122,15 @@ exports.ExpressRouteCrossConnectionsRoutesTableSummaryListResult = require('./ex exports.ExpressRouteCircuitReference = require('./expressRouteCircuitReference'); exports.ExpressRouteCrossConnectionPeering = require('./expressRouteCrossConnectionPeering'); exports.ExpressRouteCrossConnection = require('./expressRouteCrossConnection'); +exports.VirtualHubId = require('./virtualHubId'); +exports.ExpressRouteCircuitPeeringId = require('./expressRouteCircuitPeeringId'); +exports.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds = require('./expressRouteGatewayPropertiesAutoScaleConfigurationBounds'); +exports.ExpressRouteGatewayPropertiesAutoScaleConfiguration = require('./expressRouteGatewayPropertiesAutoScaleConfiguration'); +exports.ExpressRouteConnection = require('./expressRouteConnection'); +exports.ExpressRouteGateway = require('./expressRouteGateway'); +exports.ExpressRouteGatewayList = require('./expressRouteGatewayList'); +exports.ExpressRouteConnectionList = require('./expressRouteConnectionList'); exports.LoadBalancerSku = require('./loadBalancerSku'); -exports.FrontendIPConfiguration = require('./frontendIPConfiguration'); exports.LoadBalancingRule = require('./loadBalancingRule'); exports.Probe = require('./probe'); exports.InboundNatPool = require('./inboundNatPool'); @@ -249,7 +269,9 @@ exports.VpnSiteId = require('./vpnSiteId'); exports.ApplicationGatewayListResult = require('./applicationGatewayListResult'); exports.ApplicationGatewayAvailableSslPredefinedPolicies = require('./applicationGatewayAvailableSslPredefinedPolicies'); exports.ApplicationSecurityGroupListResult = require('./applicationSecurityGroupListResult'); +exports.AvailableDelegationsResult = require('./availableDelegationsResult'); exports.AzureFirewallListResult = require('./azureFirewallListResult'); +exports.AzureFirewallFqdnTagListResult = require('./azureFirewallFqdnTagListResult'); exports.DdosProtectionPlanListResult = require('./ddosProtectionPlanListResult'); exports.EndpointServicesListResult = require('./endpointServicesListResult'); exports.AuthorizationListResult = require('./authorizationListResult'); @@ -258,6 +280,7 @@ exports.ExpressRouteCircuitListResult = require('./expressRouteCircuitListResult exports.ExpressRouteServiceProviderListResult = require('./expressRouteServiceProviderListResult'); exports.ExpressRouteCrossConnectionListResult = require('./expressRouteCrossConnectionListResult'); exports.ExpressRouteCrossConnectionPeeringList = require('./expressRouteCrossConnectionPeeringList'); +exports.InterfaceEndpointListResult = require('./interfaceEndpointListResult'); exports.LoadBalancerListResult = require('./loadBalancerListResult'); exports.LoadBalancerBackendAddressPoolListResult = require('./loadBalancerBackendAddressPoolListResult'); exports.LoadBalancerFrontendIPConfigurationListResult = require('./loadBalancerFrontendIPConfigurationListResult'); @@ -267,6 +290,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'); @@ -287,6 +311,7 @@ exports.VirtualNetworkListResult = require('./virtualNetworkListResult'); exports.VirtualNetworkListUsageResult = require('./virtualNetworkListUsageResult'); exports.SubnetListResult = require('./subnetListResult'); exports.VirtualNetworkPeeringListResult = require('./virtualNetworkPeeringListResult'); +exports.VirtualNetworkTapListResult = require('./virtualNetworkTapListResult'); exports.VirtualNetworkGatewayListResult = require('./virtualNetworkGatewayListResult'); exports.VirtualNetworkGatewayListConnectionsResult = require('./virtualNetworkGatewayListConnectionsResult'); exports.VirtualNetworkGatewayConnectionListResult = require('./virtualNetworkGatewayConnectionListResult'); diff --git a/lib/services/networkManagement2/lib/models/interfaceEndpoint.js b/lib/services/networkManagement2/lib/models/interfaceEndpoint.js new file mode 100644 index 0000000000..90aaa98901 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/interfaceEndpoint.js @@ -0,0 +1,160 @@ +/* + * 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'); + +/** + * Interface endpoint resource. + * + * @extends models['Resource'] + */ +class InterfaceEndpoint extends models['Resource'] { + /** + * Create a InterfaceEndpoint. + * @member {string} [fqdn] A first-party service's FQDN that is mapped to the + * private IP allocated via this interface endpoint. + * @member {object} [endpointService] A reference to the service being + * brought into the virtual network. + * @member {string} [endpointService.id] A unique identifier of the service + * being referenced by the interface endpoint. + * @member {object} [subnet] The ID of the subnet from which the private IP + * will be allocated. + * @member {string} [subnet.id] Resource ID. + * @member {array} [networkInterfaces] Gets an array of references to the + * network interfaces created for this interface endpoint. + * @member {string} [owner] A read-only property that identifies who created + * this interface endpoint. + * @member {string} [etag] Gets a unique read-only string that changes + * whenever the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of InterfaceEndpoint + * + * @returns {object} metadata of InterfaceEndpoint + * + */ + mapper() { + return { + required: false, + serializedName: 'InterfaceEndpoint', + type: { + name: 'Composite', + className: 'InterfaceEndpoint', + 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' + } + } + } + }, + fqdn: { + required: false, + serializedName: 'properties.fqdn', + type: { + name: 'String' + } + }, + endpointService: { + required: false, + serializedName: 'properties.endpointService', + type: { + name: 'Composite', + className: 'EndpointService' + } + }, + subnet: { + required: false, + serializedName: 'properties.subnet', + type: { + name: 'Composite', + className: 'SubResource' + } + }, + networkInterfaces: { + required: false, + serializedName: 'properties.networkInterfaces', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'SubResourceElementType', + type: { + name: 'Composite', + className: 'SubResource' + } + } + } + }, + owner: { + required: false, + readOnly: true, + serializedName: 'properties.owner', + type: { + name: 'String' + } + }, + etag: { + required: false, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = InterfaceEndpoint; diff --git a/lib/services/networkManagement2/lib/models/interfaceEndpointListResult.js b/lib/services/networkManagement2/lib/models/interfaceEndpointListResult.js new file mode 100644 index 0000000000..8de4d9e62e --- /dev/null +++ b/lib/services/networkManagement2/lib/models/interfaceEndpointListResult.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 the ListInterfaceEndpoints API service call. + */ +class InterfaceEndpointListResult extends Array { + /** + * Create a InterfaceEndpointListResult. + * @member {string} [nextLink] The URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of InterfaceEndpointListResult + * + * @returns {object} metadata of InterfaceEndpointListResult + * + */ + mapper() { + return { + required: false, + serializedName: 'InterfaceEndpointListResult', + type: { + name: 'Composite', + className: 'InterfaceEndpointListResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'InterfaceEndpointElementType', + type: { + name: 'Composite', + className: 'InterfaceEndpoint' + } + } + } + }, + nextLink: { + required: false, + readOnly: true, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = InterfaceEndpointListResult; diff --git a/lib/services/networkManagement2/lib/models/networkInterface.js b/lib/services/networkManagement2/lib/models/networkInterface.js index aab3f7b4db..61418d4c5a 100644 --- a/lib/services/networkManagement2/lib/models/networkInterface.js +++ b/lib/services/networkManagement2/lib/models/networkInterface.js @@ -39,6 +39,23 @@ class NetworkInterface extends models['Resource'] { * 'Deleting', and 'Failed'. * @member {string} [networkSecurityGroup.etag] A unique read-only string * that changes whenever the resource is updated. + * @member {object} [interfaceEndpoint] A reference to the interface endpoint + * to which the network interface is linked. + * @member {string} [interfaceEndpoint.fqdn] A first-party service's FQDN + * that is mapped to the private IP allocated via this interface endpoint. + * @member {object} [interfaceEndpoint.endpointService] A reference to the + * service being brought into the virtual network. + * @member {string} [interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * @member {object} [interfaceEndpoint.subnet] The ID of the subnet from + * which the private IP will be allocated. + * @member {string} [interfaceEndpoint.subnet.id] Resource ID. + * @member {array} [interfaceEndpoint.networkInterfaces] Gets an array of + * references to the network interfaces created for this interface endpoint. + * @member {string} [interfaceEndpoint.owner] A read-only property that + * identifies who created this interface endpoint. + * @member {string} [interfaceEndpoint.etag] Gets a unique read-only string + * that changes whenever the resource is updated. * @member {array} [ipConfigurations] A list of IPConfigurations of the * network interface. * @member {object} [dnsSettings] The DNS settings in network interface. @@ -67,6 +84,10 @@ class NetworkInterface extends models['Resource'] { * is accelerated networking enabled. * @member {boolean} [enableIPForwarding] Indicates whether IP forwarding is * enabled on this network interface. + * @member {array} [hostedWorkloads] A list of references to linked BareMetal + * resources + * @member {string} [linkedResourceType] The type of resource to be linked to + * this network interface * @member {string} [resourceGuid] The resource GUID property of the network * interface resource. * @member {string} [provisioningState] The provisioning state of the public @@ -152,6 +173,14 @@ class NetworkInterface extends models['Resource'] { className: 'NetworkSecurityGroup' } }, + interfaceEndpoint: { + required: false, + serializedName: 'properties.interfaceEndpoint', + type: { + name: 'Composite', + className: 'InterfaceEndpoint' + } + }, ipConfigurations: { required: false, serializedName: 'properties.ipConfigurations', @@ -203,6 +232,28 @@ class NetworkInterface extends models['Resource'] { name: 'Boolean' } }, + hostedWorkloads: { + required: false, + readOnly: true, + serializedName: 'properties.hostedWorkloads', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + linkedResourceType: { + required: false, + serializedName: 'properties.linkedResourceType', + type: { + name: 'String' + } + }, resourceGuid: { required: false, serializedName: 'properties.resourceGuid', diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js index bb7736d7d6..2dc1d19945 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 @@ -73,10 +75,17 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * @member {array} [subnet.serviceEndpoints] An array of service endpoints. * @member {array} [subnet.serviceEndpointPolicies] An array of service * endpoint policies. + * @member {array} [subnet.interfaceEndpoints] An array of references to + * interface endpoints * @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 {array} [subnet.delegations] Gets an array of references to the + * delegations on the subnet. + * @member {string} [subnet.purpose] A read-only string identifying the + * intention of use for this subnet based on delegations and other + * user-defined properties. * @member {string} [subnet.provisioningState] The provisioning state of the * resource. * @member {string} [subnet.name] The name of the resource that is unique @@ -158,12 +167,20 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * @member {array} * [publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] An array * of service endpoint policies. + * @member {array} + * [publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] An array of + * references to interface endpoints * @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 {array} [publicIPAddress.ipConfiguration.subnet.delegations] Gets + * an array of references to the delegations on the subnet. + * @member {string} [publicIPAddress.ipConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. * @member {string} * [publicIPAddress.ipConfiguration.subnet.provisioningState] The * provisioning state of the resource. @@ -252,6 +269,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..91f6bc344d --- /dev/null +++ b/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js @@ -0,0 +1,725 @@ +/* + * 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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based + * on delegations and other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based + * on delegations and other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based + * on delegations and other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based + * on delegations and other user-defined properties. + * @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/publicIPAddress.js b/lib/services/networkManagement2/lib/models/publicIPAddress.js index ac1c028f1c..39abe8ab6b 100644 --- a/lib/services/networkManagement2/lib/models/publicIPAddress.js +++ b/lib/services/networkManagement2/lib/models/publicIPAddress.js @@ -83,10 +83,17 @@ class PublicIPAddress extends models['Resource'] { * service endpoints. * @member {array} [ipConfiguration.subnet.serviceEndpointPolicies] An array * of service endpoint policies. + * @member {array} [ipConfiguration.subnet.interfaceEndpoints] An array of + * references to interface endpoints * @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 {array} [ipConfiguration.subnet.delegations] Gets an array of + * references to the delegations on the subnet. + * @member {string} [ipConfiguration.subnet.purpose] A read-only string + * identifying the intention of use for this subnet based on delegations and + * other user-defined properties. * @member {string} [ipConfiguration.subnet.provisioningState] The * provisioning state of the resource. * @member {string} [ipConfiguration.subnet.name] The name of the resource diff --git a/lib/services/networkManagement2/lib/models/subnet.js b/lib/services/networkManagement2/lib/models/subnet.js index a74001005c..fa76b54d3b 100644 --- a/lib/services/networkManagement2/lib/models/subnet.js +++ b/lib/services/networkManagement2/lib/models/subnet.js @@ -55,10 +55,17 @@ class Subnet extends models['SubResource'] { * @member {array} [serviceEndpoints] An array of service endpoints. * @member {array} [serviceEndpointPolicies] An array of service endpoint * policies. + * @member {array} [interfaceEndpoints] An array of references to interface + * endpoints * @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 {array} [delegations] Gets an array of references to the + * delegations on the subnet. + * @member {string} [purpose] A read-only string identifying the intention of + * use for this subnet based on delegations and other user-defined + * properties. * @member {string} [provisioningState] The provisioning state of the * resource. * @member {string} [name] The name of the resource that is unique within a @@ -158,6 +165,21 @@ class Subnet extends models['SubResource'] { } } }, + interfaceEndpoints: { + required: false, + serializedName: 'properties.interfaceEndpoints', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'SubResourceElementType', + type: { + name: 'Composite', + className: 'SubResource' + } + } + } + }, ipConfigurations: { required: false, readOnly: true, @@ -189,6 +211,29 @@ class Subnet extends models['SubResource'] { } } }, + delegations: { + required: false, + serializedName: 'properties.delegations', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'DelegationElementType', + type: { + name: 'Composite', + className: 'Delegation' + } + } + } + }, + purpose: { + required: false, + readOnly: true, + serializedName: 'properties.purpose', + type: { + name: 'String' + } + }, provisioningState: { required: false, serializedName: 'properties.provisioningState', diff --git a/lib/services/networkManagement2/lib/models/virtualHubId.js b/lib/services/networkManagement2/lib/models/virtualHubId.js new file mode 100644 index 0000000000..53d973ed1e --- /dev/null +++ b/lib/services/networkManagement2/lib/models/virtualHubId.js @@ -0,0 +1,54 @@ +/* + * 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'; + +/** + * Virtual Hub identifier. + * + */ +class VirtualHubId { + /** + * Create a VirtualHubId. + * @member {string} [id] The resource URI for the Virtual Hub where the + * ExpressRoute gateway is or will be deployed. The Virtual Hub resource and + * the ExpressRoute gateway resource reside in the same subscription. + */ + constructor() { + } + + /** + * Defines the metadata of VirtualHubId + * + * @returns {object} metadata of VirtualHubId + * + */ + mapper() { + return { + required: false, + serializedName: 'VirtualHubId', + type: { + name: 'Composite', + className: 'VirtualHubId', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = VirtualHubId; diff --git a/lib/services/networkManagement2/lib/models/virtualNetworkTap.js b/lib/services/networkManagement2/lib/models/virtualNetworkTap.js new file mode 100644 index 0000000000..4f0e891126 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/virtualNetworkTap.js @@ -0,0 +1,756 @@ +/* + * 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.interfaceEndpoints] An + * array of references to interface endpoints + * @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 {array} + * [destinationNetworkInterfaceIPConfiguration.subnet.delegations] Gets an + * array of references to the delegations on the subnet. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.subnet.purpose] A read-only + * string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based + * on delegations and other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] Gets + * an array of references to the delegations on the subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.subnet.purpose] A + * read-only string identifying the intention of use for this subnet based on + * delegations and other user-defined properties. + * @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.interfaceEndpoints] + * An array of references to interface endpoints + * @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 {array} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * @member {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] + * A read-only string identifying the intention of use for this subnet based + * on delegations and other user-defined properties. + * @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 125423f4d1..fd666e8da6 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.d.ts +++ b/lib/services/networkManagement2/lib/networkManagementClient.d.ts @@ -56,7 +56,10 @@ export default class NetworkManagementClient extends AzureServiceClient { // Operation groups applicationGateways: operations.ApplicationGateways; applicationSecurityGroups: operations.ApplicationSecurityGroups; + availableDelegations: operations.AvailableDelegations; + availableResourceGroupDelegations: operations.AvailableResourceGroupDelegations; azureFirewalls: operations.AzureFirewalls; + azureFirewallFqdnTags: operations.AzureFirewallFqdnTags; ddosProtectionPlans: operations.DdosProtectionPlans; availableEndpointServices: operations.AvailableEndpointServices; expressRouteCircuitAuthorizations: operations.ExpressRouteCircuitAuthorizations; @@ -66,6 +69,9 @@ export default class NetworkManagementClient extends AzureServiceClient { expressRouteServiceProviders: operations.ExpressRouteServiceProviders; expressRouteCrossConnections: operations.ExpressRouteCrossConnections; expressRouteCrossConnectionPeerings: operations.ExpressRouteCrossConnectionPeerings; + expressRouteGateways: operations.ExpressRouteGateways; + expressRouteConnections: operations.ExpressRouteConnections; + interfaceEndpoints: operations.InterfaceEndpoints; loadBalancers: operations.LoadBalancers; loadBalancerBackendAddressPools: operations.LoadBalancerBackendAddressPools; loadBalancerFrontendIPConfigurations: operations.LoadBalancerFrontendIPConfigurations; @@ -76,6 +82,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; @@ -96,6 +103,7 @@ export default class NetworkManagementClient extends AzureServiceClient { virtualNetworks: operations.VirtualNetworks; subnets: operations.Subnets; virtualNetworkPeerings: operations.VirtualNetworkPeerings; + virtualNetworkTaps: operations.VirtualNetworkTaps; virtualNetworkGateways: operations.VirtualNetworkGateways; virtualNetworkGatewayConnections: operations.VirtualNetworkGatewayConnections; localNetworkGateways: operations.LocalNetworkGateways; diff --git a/lib/services/networkManagement2/lib/networkManagementClient.js b/lib/services/networkManagement2/lib/networkManagementClient.js index 236b41fef0..eb4356d921 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.js +++ b/lib/services/networkManagement2/lib/networkManagementClient.js @@ -220,7 +220,10 @@ class NetworkManagementClient extends ServiceClient { } this.applicationGateways = new operations.ApplicationGateways(this); this.applicationSecurityGroups = new operations.ApplicationSecurityGroups(this); + this.availableDelegations = new operations.AvailableDelegations(this); + this.availableResourceGroupDelegations = new operations.AvailableResourceGroupDelegations(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); @@ -230,6 +233,9 @@ class NetworkManagementClient extends ServiceClient { this.expressRouteServiceProviders = new operations.ExpressRouteServiceProviders(this); this.expressRouteCrossConnections = new operations.ExpressRouteCrossConnections(this); this.expressRouteCrossConnectionPeerings = new operations.ExpressRouteCrossConnectionPeerings(this); + this.expressRouteGateways = new operations.ExpressRouteGateways(this); + this.expressRouteConnections = new operations.ExpressRouteConnections(this); + this.interfaceEndpoints = new operations.InterfaceEndpoints(this); this.loadBalancers = new operations.LoadBalancers(this); this.loadBalancerBackendAddressPools = new operations.LoadBalancerBackendAddressPools(this); this.loadBalancerFrontendIPConfigurations = new operations.LoadBalancerFrontendIPConfigurations(this); @@ -240,6 +246,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); @@ -260,6 +267,7 @@ class NetworkManagementClient extends ServiceClient { this.virtualNetworks = new operations.VirtualNetworks(this); this.subnets = new operations.Subnets(this); this.virtualNetworkPeerings = new operations.VirtualNetworkPeerings(this); + this.virtualNetworkTaps = new operations.VirtualNetworkTaps(this); this.virtualNetworkGateways = new operations.VirtualNetworkGateways(this); this.virtualNetworkGatewayConnections = new operations.VirtualNetworkGatewayConnections(this); this.localNetworkGateways = new operations.LocalNetworkGateways(this); diff --git a/lib/services/networkManagement2/lib/operations/applicationGateways.js b/lib/services/networkManagement2/lib/operations/applicationGateways.js index fea54ef420..549d6f97a8 100644 --- a/lib/services/networkManagement2/lib/operations/applicationGateways.js +++ b/lib/services/networkManagement2/lib/operations/applicationGateways.js @@ -269,6 +269,9 @@ 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. * @@ -1705,6 +1708,9 @@ 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. * @@ -3176,6 +3182,9 @@ 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. * @@ -3344,6 +3353,9 @@ 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. * @@ -4464,6 +4476,9 @@ 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. * @@ -4632,6 +4647,9 @@ 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/availableDelegations.js b/lib/services/networkManagement2/lib/operations/availableDelegations.js new file mode 100644 index 0000000000..bb49a72dc4 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/availableDelegations.js @@ -0,0 +1,471 @@ +/* + * 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 of the available subnet delegations for this subscription in this + * region. + * + * @param {string} location The location of the subnet. + * + * @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 AvailableDelegationsResult} 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(location, 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 (location === null || location === undefined || typeof location.valueOf() !== 'string') { + throw new Error('location 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}/providers/Microsoft.Network/locations/{location}/availableDelegations'; + requestUrl = requestUrl.replace('{location}', encodeURIComponent(location)); + 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['AvailableDelegationsResult']().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 of the available subnet delegations for this subscription in this + * region. + * + * @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 AvailableDelegationsResult} 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['AvailableDelegationsResult']().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 AvailableDelegations. */ +class AvailableDelegations { + /** + * Create a AvailableDelegations. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._list = _list; + this._listNext = _listNext; + } + + /** + * Gets all of the available subnet delegations for this subscription in this + * region. + * + * @param {string} location The location 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} - The error object. + */ + listWithHttpOperationResponse(location, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._list(location, 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 of the available subnet delegations for this subscription in this + * region. + * + * @param {string} location The location of the subnet. + * + * @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 {AvailableDelegationsResult} - 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 AvailableDelegationsResult} 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(location, 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(location, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._list(location, options, optionalCallback); + } + } + + /** + * Gets all of the available subnet delegations for this subscription in this + * region. + * + * @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; + }); + }); + } + + /** + * Gets all of the available subnet delegations for this subscription in this + * region. + * + * @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 {AvailableDelegationsResult} - 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 AvailableDelegationsResult} 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 = AvailableDelegations; diff --git a/lib/services/networkManagement2/lib/operations/availableResourceGroupDelegations.js b/lib/services/networkManagement2/lib/operations/availableResourceGroupDelegations.js new file mode 100644 index 0000000000..5ab86b62fd --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/availableResourceGroupDelegations.js @@ -0,0 +1,481 @@ +/* + * 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 of the available subnet delegations for this resource group in this + * region. + * + * @param {string} location The location of the domain name. + * + * @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 AvailableDelegationsResult} 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(location, 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 (location === null || location === undefined || typeof location.valueOf() !== 'string') { + throw new Error('location cannot be null or undefined and it must be of type string.'); + } + 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/locations/{location}/availableDelegations'; + requestUrl = requestUrl.replace('{location}', encodeURIComponent(location)); + 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['AvailableDelegationsResult']().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 of the available subnet delegations for this resource group in this + * region. + * + * @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 AvailableDelegationsResult} 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['AvailableDelegationsResult']().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 AvailableResourceGroupDelegations. */ +class AvailableResourceGroupDelegations { + /** + * Create a AvailableResourceGroupDelegations. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._list = _list; + this._listNext = _listNext; + } + + /** + * Gets all of the available subnet delegations for this resource group in this + * region. + * + * @param {string} location The location of the domain name. + * + * @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. + */ + listWithHttpOperationResponse(location, resourceGroupName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._list(location, 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 of the available subnet delegations for this resource group in this + * region. + * + * @param {string} location The location of the domain name. + * + * @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 {AvailableDelegationsResult} - 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 AvailableDelegationsResult} 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(location, 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._list(location, resourceGroupName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._list(location, resourceGroupName, options, optionalCallback); + } + } + + /** + * Gets all of the available subnet delegations for this resource group in this + * region. + * + * @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; + }); + }); + } + + /** + * Gets all of the available subnet delegations for this resource group in this + * region. + * + * @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 {AvailableDelegationsResult} - 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 AvailableDelegationsResult} 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 = AvailableResourceGroupDelegations; 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 5f67cc1f62..7c3ea7fe6c 100644 --- a/lib/services/networkManagement2/lib/operations/azureFirewalls.js +++ b/lib/services/networkManagement2/lib/operations/azureFirewalls.js @@ -232,10 +232,13 @@ function _get(resourceGroupName, azureFirewallName, options, callback) { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -726,10 +729,13 @@ function _beginDeleteMethod(resourceGroupName, azureFirewallName, options, callb * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1371,10 +1377,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1425,10 +1434,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1748,10 +1760,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -1802,10 +1817,13 @@ class AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js index 472a9c5aff..d45c5ddcf2 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js @@ -360,6 +360,9 @@ function _get(resourceGroupName, circuitName, peeringName, options, callback) { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -845,6 +848,9 @@ function _beginDeleteMethod(resourceGroupName, circuitName, peeringName, options * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -1484,6 +1490,9 @@ class ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -1648,6 +1657,9 @@ class ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -2011,6 +2023,9 @@ class ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -2175,6 +2190,9 @@ class ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * diff --git a/lib/services/networkManagement2/lib/operations/expressRouteConnections.js b/lib/services/networkManagement2/lib/operations/expressRouteConnections.js new file mode 100644 index 0000000000..d1c1042c3e --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/expressRouteConnections.js @@ -0,0 +1,1484 @@ +/* + * 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; + + +/** + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.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 ExpressRouteConnection} 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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, 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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, 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['ExpressRouteConnection']().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 the specified ExpressRouteConnection. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the ExpressRoute connection. + * + * @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 ExpressRouteConnection} 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, expressRouteGatewayName, connectionName, 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 (expressRouteGatewayName === null || expressRouteGatewayName === undefined || typeof expressRouteGatewayName.valueOf() !== 'string') { + throw new Error('expressRouteGatewayName cannot be null or undefined and it must be of type string.'); + } + if (connectionName === null || connectionName === undefined || typeof connectionName.valueOf() !== 'string') { + throw new Error('connectionName 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/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{expressRouteGatewayName}', encodeURIComponent(expressRouteGatewayName)); + requestUrl = requestUrl.replace('{connectionName}', encodeURIComponent(connectionName)); + 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['ExpressRouteConnection']().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 a connection to a ExpressRoute circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @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, expressRouteGatewayName, connectionName, 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, expressRouteGatewayName, connectionName, 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); + }); + }); +} + +/** + * Lists ExpressRouteConnections. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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 ExpressRouteConnectionList} 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, expressRouteGatewayName, 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 (expressRouteGatewayName === null || expressRouteGatewayName === undefined || typeof expressRouteGatewayName.valueOf() !== 'string') { + throw new Error('expressRouteGatewayName 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/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{expressRouteGatewayName}', encodeURIComponent(expressRouteGatewayName)); + 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['ExpressRouteConnectionList']().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 a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.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 ExpressRouteConnection} 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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, 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 (expressRouteGatewayName === null || expressRouteGatewayName === undefined || typeof expressRouteGatewayName.valueOf() !== 'string') { + throw new Error('expressRouteGatewayName cannot be null or undefined and it must be of type string.'); + } + if (connectionName === null || connectionName === undefined || typeof connectionName.valueOf() !== 'string') { + throw new Error('connectionName cannot be null or undefined and it must be of type string.'); + } + if (putExpressRouteConnectionParameters === null || putExpressRouteConnectionParameters === undefined) { + throw new Error('putExpressRouteConnectionParameters 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/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{expressRouteGatewayName}', encodeURIComponent(expressRouteGatewayName)); + requestUrl = requestUrl.replace('{connectionName}', encodeURIComponent(connectionName)); + 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 (putExpressRouteConnectionParameters !== null && putExpressRouteConnectionParameters !== undefined) { + let requestModelMapper = new client.models['ExpressRouteConnection']().mapper(); + requestModel = client.serialize(requestModelMapper, putExpressRouteConnectionParameters, 'putExpressRouteConnectionParameters'); + requestContent = JSON.stringify(requestModel); + } + } catch (error) { + let serializationError = new Error(`Error "${error.message}" occurred in serializing the ` + + `payload - ${JSON.stringify(putExpressRouteConnectionParameters, 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['ExpressRouteConnection']().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['ExpressRouteConnection']().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); + }); +} + +/** + * Deletes a connection to a ExpressRoute circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @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, expressRouteGatewayName, connectionName, 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 (expressRouteGatewayName === null || expressRouteGatewayName === undefined || typeof expressRouteGatewayName.valueOf() !== 'string') { + throw new Error('expressRouteGatewayName cannot be null or undefined and it must be of type string.'); + } + if (connectionName === null || connectionName === undefined || typeof connectionName.valueOf() !== 'string') { + throw new Error('connectionName 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/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{expressRouteGatewayName}', encodeURIComponent(expressRouteGatewayName)); + requestUrl = requestUrl.replace('{connectionName}', encodeURIComponent(connectionName)); + 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); + }); +} + +/** Class representing a ExpressRouteConnections. */ +class ExpressRouteConnections { + /** + * Create a ExpressRouteConnections. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._createOrUpdate = _createOrUpdate; + this._get = _get; + this._deleteMethod = _deleteMethod; + this._list = _list; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._beginDeleteMethod = _beginDeleteMethod; + } + + /** + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.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 {ExpressRouteConnection} - 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 ExpressRouteConnection} 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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, 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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options, optionalCallback); + } + } + + /** + * Gets the specified ExpressRouteConnection. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the ExpressRoute connection. + * + * @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, expressRouteGatewayName, connectionName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, expressRouteGatewayName, connectionName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets the specified ExpressRouteConnection. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the ExpressRoute connection. + * + * @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 {ExpressRouteConnection} - 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 ExpressRouteConnection} 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, expressRouteGatewayName, connectionName, 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, expressRouteGatewayName, connectionName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, expressRouteGatewayName, connectionName, options, optionalCallback); + } + } + + /** + * Deletes a connection to a ExpressRoute circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @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, expressRouteGatewayName, connectionName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, expressRouteGatewayName, connectionName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Deletes a connection to a ExpressRoute circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @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, expressRouteGatewayName, connectionName, 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, expressRouteGatewayName, connectionName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, expressRouteGatewayName, connectionName, options, optionalCallback); + } + } + + /** + * Lists ExpressRouteConnections. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * 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} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName, expressRouteGatewayName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._list(resourceGroupName, expressRouteGatewayName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Lists ExpressRouteConnections. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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 {ExpressRouteConnectionList} - 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 ExpressRouteConnectionList} 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, expressRouteGatewayName, 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, expressRouteGatewayName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._list(resourceGroupName, expressRouteGatewayName, options, optionalCallback); + } + } + + /** + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.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 {ExpressRouteConnection} - 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 ExpressRouteConnection} 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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, 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, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters, options, optionalCallback); + } + } + + /** + * Deletes a connection to a ExpressRoute circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @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, expressRouteGatewayName, connectionName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, expressRouteGatewayName, connectionName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Deletes a connection to a ExpressRoute circuit. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @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, expressRouteGatewayName, connectionName, 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, expressRouteGatewayName, connectionName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, expressRouteGatewayName, connectionName, options, optionalCallback); + } + } + +} + +module.exports = ExpressRouteConnections; diff --git a/lib/services/networkManagement2/lib/operations/expressRouteGateways.js b/lib/services/networkManagement2/lib/operations/expressRouteGateways.js new file mode 100644 index 0000000000..d484c33697 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/expressRouteGateways.js @@ -0,0 +1,1707 @@ +/* + * 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; + +/** + * Lists ExpressRoute gateways under a given 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 ExpressRouteGatewayList} 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 _listBySubscription(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/expressRouteGateways'; + 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['ExpressRouteGatewayList']().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); + }); +} + +/** + * Lists ExpressRoute gateways in a given resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 ExpressRouteGatewayList} 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/expressRouteGateways'; + 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['ExpressRouteGatewayList']().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 ExpressRoute gateway in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.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 ExpressRouteGateway} 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, expressRouteGatewayName, putExpressRouteGatewayParameters, 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, expressRouteGatewayName, putExpressRouteGatewayParameters, 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['ExpressRouteGateway']().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); + }); + }); +} + +/** + * Fetches the details of a ExpressRoute gateway in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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 ExpressRouteGateway} 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, expressRouteGatewayName, 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 (expressRouteGatewayName === null || expressRouteGatewayName === undefined || typeof expressRouteGatewayName.valueOf() !== 'string') { + throw new Error('expressRouteGatewayName 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/expressRouteGateways/{expressRouteGatewayName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{expressRouteGatewayName}', encodeURIComponent(expressRouteGatewayName)); + 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 && statusCode !== 404) { + 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['ExpressRouteGateway']().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 ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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, expressRouteGatewayName, 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, expressRouteGatewayName, 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); + }); + }); +} + +/** + * Creates or updates a ExpressRoute gateway in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.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 ExpressRouteGateway} 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, expressRouteGatewayName, putExpressRouteGatewayParameters, 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 (expressRouteGatewayName === null || expressRouteGatewayName === undefined || typeof expressRouteGatewayName.valueOf() !== 'string') { + throw new Error('expressRouteGatewayName cannot be null or undefined and it must be of type string.'); + } + if (putExpressRouteGatewayParameters === null || putExpressRouteGatewayParameters === undefined) { + throw new Error('putExpressRouteGatewayParameters 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/expressRouteGateways/{expressRouteGatewayName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{expressRouteGatewayName}', encodeURIComponent(expressRouteGatewayName)); + 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 (putExpressRouteGatewayParameters !== null && putExpressRouteGatewayParameters !== undefined) { + let requestModelMapper = new client.models['ExpressRouteGateway']().mapper(); + requestModel = client.serialize(requestModelMapper, putExpressRouteGatewayParameters, 'putExpressRouteGatewayParameters'); + requestContent = JSON.stringify(requestModel); + } + } catch (error) { + let serializationError = new Error(`Error "${error.message}" occurred in serializing the ` + + `payload - ${JSON.stringify(putExpressRouteGatewayParameters, 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['ExpressRouteGateway']().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['ExpressRouteGateway']().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); + }); +} + +/** + * Deletes the specified ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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, expressRouteGatewayName, 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 (expressRouteGatewayName === null || expressRouteGatewayName === undefined || typeof expressRouteGatewayName.valueOf() !== 'string') { + throw new Error('expressRouteGatewayName 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/expressRouteGateways/{expressRouteGatewayName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{expressRouteGatewayName}', encodeURIComponent(expressRouteGatewayName)); + 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); + }); +} + +/** Class representing a ExpressRouteGateways. */ +class ExpressRouteGateways { + /** + * Create a ExpressRouteGateways. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._listBySubscription = _listBySubscription; + this._listByResourceGroup = _listByResourceGroup; + this._createOrUpdate = _createOrUpdate; + this._get = _get; + this._deleteMethod = _deleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._beginDeleteMethod = _beginDeleteMethod; + } + + /** + * Lists ExpressRoute gateways under a given 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. + */ + listBySubscriptionWithHttpOperationResponse(options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listBySubscription(options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Lists ExpressRoute gateways under a given 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 {ExpressRouteGatewayList} - 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 ExpressRouteGatewayList} 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. + */ + listBySubscription(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._listBySubscription(options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listBySubscription(options, optionalCallback); + } + } + + /** + * Lists ExpressRoute gateways in a given resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - 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; + }); + }); + } + + /** + * Lists ExpressRoute gateways in a given resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {ExpressRouteGatewayList} - 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 ExpressRouteGatewayList} 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); + } + } + + /** + * Creates or updates a ExpressRoute gateway in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.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, expressRouteGatewayName, putExpressRouteGatewayParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, expressRouteGatewayName, putExpressRouteGatewayParameters, 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 ExpressRoute gateway in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.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 {ExpressRouteGateway} - 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 ExpressRouteGateway} 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, expressRouteGatewayName, putExpressRouteGatewayParameters, 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, expressRouteGatewayName, putExpressRouteGatewayParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, expressRouteGatewayName, putExpressRouteGatewayParameters, options, optionalCallback); + } + } + + /** + * Fetches the details of a ExpressRoute gateway in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * 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} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName, expressRouteGatewayName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, expressRouteGatewayName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Fetches the details of a ExpressRoute gateway in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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 {ExpressRouteGateway} - 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 ExpressRouteGateway} 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, expressRouteGatewayName, 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, expressRouteGatewayName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, expressRouteGatewayName, options, optionalCallback); + } + } + + /** + * Deletes the specified ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * 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} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName, expressRouteGatewayName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, expressRouteGatewayName, 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 ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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, expressRouteGatewayName, 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, expressRouteGatewayName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, expressRouteGatewayName, options, optionalCallback); + } + } + + /** + * Creates or updates a ExpressRoute gateway in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.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, expressRouteGatewayName, putExpressRouteGatewayParameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, expressRouteGatewayName, putExpressRouteGatewayParameters, 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 ExpressRoute gateway in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.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 {ExpressRouteGateway} - 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 ExpressRouteGateway} 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, expressRouteGatewayName, putExpressRouteGatewayParameters, 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, expressRouteGatewayName, putExpressRouteGatewayParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, expressRouteGatewayName, putExpressRouteGatewayParameters, options, optionalCallback); + } + } + + /** + * Deletes the specified ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * 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} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName, expressRouteGatewayName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, expressRouteGatewayName, 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 ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @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, expressRouteGatewayName, 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, expressRouteGatewayName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, expressRouteGatewayName, options, optionalCallback); + } + } + +} + +module.exports = ExpressRouteGateways; diff --git a/lib/services/networkManagement2/lib/operations/index.d.ts b/lib/services/networkManagement2/lib/operations/index.d.ts index 088c8543a4..98e5f4500e 100644 --- a/lib/services/networkManagement2/lib/operations/index.d.ts +++ b/lib/services/networkManagement2/lib/operations/index.d.ts @@ -186,6 +186,9 @@ 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. * @@ -342,6 +345,9 @@ 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. * @@ -1150,6 +1156,9 @@ 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. * @@ -1306,6 +1315,9 @@ 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. * @@ -2436,6 +2448,264 @@ export interface ApplicationSecurityGroups { listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } +/** + * @class + * AvailableDelegations + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface AvailableDelegations { + + + /** + * Gets all of the available subnet delegations for this subscription in this + * region. + * + * @param {string} location The location 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. + */ + listWithHttpOperationResponse(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all of the available subnet delegations for this subscription in this + * region. + * + * @param {string} location The location 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 {AvailableDelegationsResult} - 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. + * + * {AvailableDelegationsResult} [result] - The deserialized result object if an error did not occur. + * See {@link AvailableDelegationsResult} for more + * information. + * + * {WebResource} [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; + + + /** + * Gets all of the available subnet delegations for this subscription in this + * region. + * + * @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 of the available subnet delegations for this subscription in this + * region. + * + * @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 {AvailableDelegationsResult} - 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. + * + * {AvailableDelegationsResult} [result] - The deserialized result object if an error did not occur. + * See {@link AvailableDelegationsResult} for more + * information. + * + * {WebResource} [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 + * AvailableResourceGroupDelegations + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface AvailableResourceGroupDelegations { + + + /** + * Gets all of the available subnet delegations for this resource group in this + * region. + * + * @param {string} location The location of the domain name. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(location: string, resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all of the available subnet delegations for this resource group in this + * region. + * + * @param {string} location The location of the domain name. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {AvailableDelegationsResult} - 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. + * + * {AvailableDelegationsResult} [result] - The deserialized result object if an error did not occur. + * See {@link AvailableDelegationsResult} for more + * information. + * + * {WebResource} [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, resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(location: string, resourceGroupName: string, callback: ServiceCallback): void; + list(location: string, resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all of the available subnet delegations for this resource group in this + * region. + * + * @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 of the available subnet delegations for this resource group in this + * region. + * + * @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 {AvailableDelegationsResult} - 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. + * + * {AvailableDelegationsResult} [result] - The deserialized result object if an error did not occur. + * See {@link AvailableDelegationsResult} for more + * information. + * + * {WebResource} [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 * AzureFirewalls @@ -2573,10 +2843,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -2615,10 +2888,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -2842,10 +3118,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -2884,10 +3163,13 @@ export interface AzureFirewalls { * Firewall operation. * * @param {array} [parameters.applicationRuleCollections] Collection of - * application rule collections used by a Azure Firewall. + * application rule collections used by Azure Firewall. + * + * @param {array} [parameters.natRuleCollections] Collection of NAT rule + * collections used by Azure Firewall. * * @param {array} [parameters.networkRuleCollections] Collection of network - * rule collections used by a Azure Firewall. + * rule collections used by Azure Firewall. * * @param {array} [parameters.ipConfigurations] IP configuration of the Azure * Firewall resource. @@ -3052,19 +3334,15 @@ export interface AzureFirewalls { /** * @class - * DdosProtectionPlans + * AzureFirewallFqdnTags * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface DdosProtectionPlans { +export interface AzureFirewallFqdnTags { /** - * Deletes the specified DDoS protection plan. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * Gets all the Azure Firewall FQDN Tags in a subscription. * * @param {object} [options] Optional Parameters. * @@ -3073,18 +3351,14 @@ export interface DdosProtectionPlans { * * @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, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified DDoS protection plan. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * Gets all the Azure Firewall FQDN Tags in a subscription. * * @param {object} [options] Optional Parameters. * @@ -3098,7 +3372,7 @@ export interface DdosProtectionPlans { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {AzureFirewallFqdnTagListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -3106,23 +3380,24 @@ export interface DdosProtectionPlans { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - deleteMethod(resourceGroupName: string, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, ddosProtectionPlanName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, ddosProtectionPlanName: 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 information about the specified DDoS protection plan. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the Azure Firewall FQDN Tags in a subscription. * - * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -3131,18 +3406,17 @@ export interface DdosProtectionPlans { * * @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, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about the specified DDoS protection plan. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the Azure Firewall FQDN Tags in a subscription. * - * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -3156,7 +3430,7 @@ export interface DdosProtectionPlans { * * {Promise} A promise is returned. * - * @resolve {DdosProtectionPlan} - The deserialized result object. + * @resolve {AzureFirewallFqdnTagListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -3164,16 +3438,143 @@ export interface DdosProtectionPlans { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {DdosProtectionPlan} [result] - The deserialized result object if an error did not occur. - * See {@link DdosProtectionPlan} for more information. + * {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. */ - get(resourceGroupName: string, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, ddosProtectionPlanName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, ddosProtectionPlanName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * DdosProtectionPlans + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface DdosProtectionPlans { + + + /** + * Deletes the specified DDoS protection plan. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * + * @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, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified DDoS protection plan. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * + * @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, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, ddosProtectionPlanName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, ddosProtectionPlanName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets information about the specified DDoS protection plan. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * + * @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, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets information about the specified DDoS protection plan. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosProtectionPlanName The name of the DDoS protection plan. + * + * @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 {DdosProtectionPlan} - 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. + * + * {DdosProtectionPlan} [result] - The deserialized result object if an error did not occur. + * See {@link DdosProtectionPlan} for more information. + * + * {WebResource} [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, ddosProtectionPlanName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, ddosProtectionPlanName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, ddosProtectionPlanName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** @@ -4519,6 +4920,9 @@ export interface ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -4671,6 +5075,9 @@ export interface ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -4965,6 +5372,9 @@ export interface ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -5117,6 +5527,9 @@ export interface ExpressRouteCircuitPeerings { * peering. Possible values are: 'Disabled' and 'Enabled'. Possible values * include: 'Disabled', 'Enabled' * + * @param {object} [peeringParameters.expressRouteConnection] The ExpressRoute + * connection. + * * @param {array} [peeringParameters.connections] The list of circuit * connections associated with Azure Private Peering for this circuit. * @@ -9243,19 +9656,15 @@ export interface ExpressRouteCrossConnectionPeerings { /** * @class - * LoadBalancers + * ExpressRouteGateways * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface LoadBalancers { +export interface ExpressRouteGateways { /** - * Deletes the specified load balancer. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Lists ExpressRoute gateways under a given subscription. * * @param {object} [options] Optional Parameters. * @@ -9264,18 +9673,14 @@ export interface LoadBalancers { * * @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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listBySubscriptionWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified load balancer. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Lists ExpressRoute gateways under a given subscription. * * @param {object} [options] Optional Parameters. * @@ -9289,7 +9694,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ExpressRouteGatewayList} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9297,50 +9702,44 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ExpressRouteGatewayList} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteGatewayList} for more + * information. * * {WebResource} [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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listBySubscription(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listBySubscription(callback: ServiceCallback): void; + listBySubscription(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified load balancer. + * Lists ExpressRoute gateways in a given resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * * @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, loadBalancerName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified load balancer. + * Lists ExpressRoute gateways in a given resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -9351,7 +9750,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancer} - The deserialized result object. + * @resolve {ExpressRouteGatewayList} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9359,79 +9758,59 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancer} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancer} for more information. + * {ExpressRouteGatewayList} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteGatewayList} for more + * information. * * {WebResource} [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, loadBalancerName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, loadBalancerName: string, options: { expand? : string, 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; /** - * Creates or updates a load balancer. + * Creates or updates a ExpressRoute gateway in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {object} parameters Parameters supplied to the create or update load - * balancer operation. - * - * @param {object} [parameters.sku] The load balancer SKU. - * - * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible - * values include: 'Basic', 'Standard' - * - * @param {array} [parameters.frontendIPConfigurations] Object representing the - * frontend IPs to be used for the load balancer - * - * @param {array} [parameters.backendAddressPools] Collection of backend - * address pools used by a load balancer - * - * @param {array} [parameters.loadBalancingRules] Object collection - * representing the load balancing rules Gets the provisioning + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {array} [parameters.probes] Collection of probe objects used in the - * load balancer + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. * - * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules - * used by a load balancer. Defining inbound NAT rules on your load balancer is - * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are - * referenced from virtual machine scale sets. NICs that are associated with - * individual virtual machines cannot reference an Inbound NAT pool. They have - * to reference individual inbound NAT rules. + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. * - * @param {array} [parameters.inboundNatPools] Defines an external port range - * for inbound NAT to a single backend port on NICs associated with a load - * balancer. Inbound NAT rules are created automatically for each NIC - * associated with the Load Balancer using an external port from this range. - * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive - * with defining inbound Nat rules. Inbound NAT pools are referenced from - * virtual machine scale sets. NICs that are associated with individual virtual - * machines cannot reference an inbound NAT pool. They have to reference - * individual inbound NAT rules. + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. * - * @param {array} [parameters.outboundRules] The outbound rules. + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * load balancer resource. + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. * - * @param {string} [parameters.provisioningState] Gets the provisioning state - * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. * - * @param {string} [parameters.id] Resource ID. + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. * - * @param {string} [parameters.location] Resource location. + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [putExpressRouteGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -9440,73 +9819,52 @@ export interface LoadBalancers { * * @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, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a load balancer. + * Creates or updates a ExpressRoute gateway in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {object} parameters Parameters supplied to the create or update load - * balancer operation. + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. * - * @param {object} [parameters.sku] The load balancer SKU. + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. * - * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible - * values include: 'Basic', 'Standard' + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. * - * @param {array} [parameters.frontendIPConfigurations] Object representing the - * frontend IPs to be used for the load balancer + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. * - * @param {array} [parameters.backendAddressPools] Collection of backend - * address pools used by a load balancer + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. * - * @param {array} [parameters.loadBalancingRules] Object collection - * representing the load balancing rules Gets the provisioning + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. * - * @param {array} [parameters.probes] Collection of probe objects used in the - * load balancer + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. * - * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules - * used by a load balancer. Defining inbound NAT rules on your load balancer is - * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are - * referenced from virtual machine scale sets. NICs that are associated with - * individual virtual machines cannot reference an Inbound NAT pool. They have - * to reference individual inbound NAT rules. + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. * - * @param {array} [parameters.inboundNatPools] Defines an external port range - * for inbound NAT to a single backend port on NICs associated with a load - * balancer. Inbound NAT rules are created automatically for each NIC - * associated with the Load Balancer using an external port from this range. - * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive - * with defining inbound Nat rules. Inbound NAT pools are referenced from - * virtual machine scale sets. NICs that are associated with individual virtual - * machines cannot reference an inbound NAT pool. They have to reference - * individual inbound NAT rules. - * - * @param {array} [parameters.outboundRules] The outbound rules. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * load balancer resource. - * - * @param {string} [parameters.provisioningState] Gets the provisioning state - * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [putExpressRouteGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -9520,7 +9878,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancer} - The deserialized result object. + * @resolve {ExpressRouteGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9528,28 +9886,25 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancer} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancer} for more information. + * {ExpressRouteGateway} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteGateway} for more information. * * {WebResource} [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, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a load balancer tags. + * Fetches the details of a ExpressRoute gateway in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {object} parameters Parameters supplied to update load balancer tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -9558,22 +9913,19 @@ export interface LoadBalancers { * * @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, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a load balancer tags. + * Fetches the details of a ExpressRoute gateway in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {object} parameters Parameters supplied to update load balancer tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -9587,7 +9939,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancer} - The deserialized result object. + * @resolve {ExpressRouteGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9595,20 +9947,27 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancer} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancer} for more information. + * {ExpressRouteGateway} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteGateway} for more information. * * {WebResource} [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, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, expressRouteGatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, expressRouteGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancers in a subscription. + * Deletes the specified ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -9617,14 +9976,21 @@ export interface LoadBalancers { * * @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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancers in a subscription. + * Deletes the specified ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -9638,7 +10004,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9646,24 +10012,58 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerListResult} 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; + deleteMethod(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, expressRouteGatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, expressRouteGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancers in a resource group. + * Creates or updates a ExpressRoute gateway in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -9671,17 +10071,53 @@ export interface LoadBalancers { * * @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, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancers in a resource group. + * Creates or updates a ExpressRoute gateway in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {object} putExpressRouteGatewayParameters Parameters required in an + * ExpressRoute gateway PUT operation. + * + * @param {object} [putExpressRouteGatewayParameters.autoScaleConfiguration] + * Configuration for auto scaling. + * + * @param {object} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds] Minimum and + * maximum number of scale units to deploy. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.min] Minimum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {number} + * [putExpressRouteGatewayParameters.autoScaleConfiguration.bounds.max] Maximum + * number of scale units deployed for ExpressRoute gateway. + * + * @param {object} putExpressRouteGatewayParameters.virtualHub The Virtual Hub + * where the ExpressRoute gateway is or will be deployed. + * + * @param {string} [putExpressRouteGatewayParameters.virtualHub.id] The + * resource URI for the Virtual Hub where the ExpressRoute gateway is or will + * be deployed. The Virtual Hub resource and the ExpressRoute gateway resource + * reside in the same subscription. + * + * @param {string} [putExpressRouteGatewayParameters.id] Resource ID. + * + * @param {string} [putExpressRouteGatewayParameters.location] Resource + * location. + * + * @param {object} [putExpressRouteGatewayParameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -9694,7 +10130,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerListResult} - The deserialized result object. + * @resolve {ExpressRouteGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9702,25 +10138,27 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerListResult} for more - * information. + * {ExpressRouteGateway} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteGateway} for more information. * * {WebResource} [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, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, putExpressRouteGatewayParameters: models.ExpressRouteGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified load balancer. + * Deletes the specified ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -9733,14 +10171,17 @@ export interface LoadBalancers { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified load balancer. + * Deletes the specified ExpressRoute gateway in a resource group. An + * ExpressRoute gateway resource can only be deleted when there are no + * connection subresources. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -9768,72 +10209,52 @@ export interface LoadBalancers { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, expressRouteGatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, expressRouteGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * ExpressRouteConnections + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface ExpressRouteConnections { /** - * Creates or updates a load balancer. + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {object} parameters Parameters supplied to the create or update load - * balancer operation. - * - * @param {object} [parameters.sku] The load balancer SKU. - * - * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible - * values include: 'Basic', 'Standard' - * - * @param {array} [parameters.frontendIPConfigurations] Object representing the - * frontend IPs to be used for the load balancer - * - * @param {array} [parameters.backendAddressPools] Collection of backend - * address pools used by a load balancer - * - * @param {array} [parameters.loadBalancingRules] Object collection - * representing the load balancing rules Gets the provisioning - * - * @param {array} [parameters.probes] Collection of probe objects used in the - * load balancer - * - * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules - * used by a load balancer. Defining inbound NAT rules on your load balancer is - * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are - * referenced from virtual machine scale sets. NICs that are associated with - * individual virtual machines cannot reference an Inbound NAT pool. They have - * to reference individual inbound NAT rules. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {array} [parameters.inboundNatPools] Defines an external port range - * for inbound NAT to a single backend port on NICs associated with a load - * balancer. Inbound NAT rules are created automatically for each NIC - * associated with the Load Balancer using an external port from this range. - * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive - * with defining inbound Nat rules. Inbound NAT pools are referenced from - * virtual machine scale sets. NICs that are associated with individual virtual - * machines cannot reference an inbound NAT pool. They have to reference - * individual inbound NAT rules. + * @param {string} connectionName The name of the connection subresource. * - * @param {array} [parameters.outboundRules] The outbound rules. + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * load balancer resource. + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. * - * @param {string} [parameters.provisioningState] Gets the provisioning state - * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. * - * @param {string} [parameters.id] Resource ID. + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. * - * @param {string} [parameters.location] Resource location. + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [putExpressRouteConnectionParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -9842,73 +10263,44 @@ export interface LoadBalancers { * * @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, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a load balancer. + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {object} parameters Parameters supplied to the create or update load - * balancer operation. - * - * @param {object} [parameters.sku] The load balancer SKU. - * - * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible - * values include: 'Basic', 'Standard' - * - * @param {array} [parameters.frontendIPConfigurations] Object representing the - * frontend IPs to be used for the load balancer - * - * @param {array} [parameters.backendAddressPools] Collection of backend - * address pools used by a load balancer - * - * @param {array} [parameters.loadBalancingRules] Object collection - * representing the load balancing rules Gets the provisioning - * - * @param {array} [parameters.probes] Collection of probe objects used in the - * load balancer - * - * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules - * used by a load balancer. Defining inbound NAT rules on your load balancer is - * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are - * referenced from virtual machine scale sets. NICs that are associated with - * individual virtual machines cannot reference an Inbound NAT pool. They have - * to reference individual inbound NAT rules. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {array} [parameters.inboundNatPools] Defines an external port range - * for inbound NAT to a single backend port on NICs associated with a load - * balancer. Inbound NAT rules are created automatically for each NIC - * associated with the Load Balancer using an external port from this range. - * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive - * with defining inbound Nat rules. Inbound NAT pools are referenced from - * virtual machine scale sets. NICs that are associated with individual virtual - * machines cannot reference an inbound NAT pool. They have to reference - * individual inbound NAT rules. + * @param {string} connectionName The name of the connection subresource. * - * @param {array} [parameters.outboundRules] The outbound rules. + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * load balancer resource. + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. * - * @param {string} [parameters.provisioningState] Gets the provisioning state - * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. * - * @param {string} [parameters.id] Resource ID. + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. * - * @param {string} [parameters.location] Resource location. + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [putExpressRouteConnectionParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -9922,7 +10314,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancer} - The deserialized result object. + * @resolve {ExpressRouteConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9930,28 +10322,28 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancer} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancer} for more information. + * {ExpressRouteConnection} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteConnection} for more + * information. * * {WebResource} [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, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a load balancer tags. + * Gets the specified ExpressRouteConnection. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {object} parameters Parameters supplied to update load balancer tags. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} connectionName The name of the ExpressRoute connection. * * @param {object} [options] Optional Parameters. * @@ -9960,22 +10352,21 @@ export interface LoadBalancers { * * @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, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a load balancer tags. + * Gets the specified ExpressRouteConnection. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {object} parameters Parameters supplied to update load balancer tags. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} connectionName The name of the ExpressRoute connection. * * @param {object} [options] Optional Parameters. * @@ -9989,7 +10380,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancer} - The deserialized result object. + * @resolve {ExpressRouteConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -9997,23 +10388,28 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancer} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancer} for more information. + * {ExpressRouteConnection} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteConnection} for more + * information. * * {WebResource} [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, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancers in a subscription. + * Deletes a connection to a ExpressRoute circuit. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. * * @param {object} [options] Optional Parameters. * @@ -10022,17 +10418,21 @@ export interface LoadBalancers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancers in a subscription. + * Deletes a connection to a ExpressRoute circuit. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. * * @param {object} [options] Optional Parameters. * @@ -10046,7 +10446,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10054,24 +10454,24 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancers in a resource group. + * Lists ExpressRouteConnections. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -10080,17 +10480,19 @@ export interface LoadBalancers { * * @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>; + listWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancers in a resource group. + * Lists ExpressRouteConnections. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * * @param {object} [options] Optional Parameters. * @@ -10104,7 +10506,7 @@ export interface LoadBalancers { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerListResult} - The deserialized result object. + * @resolve {ExpressRouteConnectionList} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10112,34 +10514,51 @@ export interface LoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerListResult} for more + * {ExpressRouteConnectionList} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteConnectionList} for more * information. * * {WebResource} [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 - * LoadBalancerBackendAddressPools - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface LoadBalancerBackendAddressPools { + list(resourceGroupName: string, expressRouteGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, expressRouteGatewayName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, expressRouteGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancer backed address pools. + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -10148,18 +10567,44 @@ export interface LoadBalancerBackendAddressPools { * * @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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancer backed address pools. + * Creates a connection between an ExpressRoute gateway and an ExpressRoute + * circuit. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. + * + * @param {string} connectionName The name of the connection subresource. + * + * @param {object} putExpressRouteConnectionParameters Parameters required in + * an ExpressRouteConnection PUT operation. + * + * @param {object} + * putExpressRouteConnectionParameters.expressRouteCircuitPeering The + * ExpressRoute circuit peering. + * + * @param {string} + * [putExpressRouteConnectionParameters.expressRouteCircuitPeering.id] The ID + * of the ExpressRoute circuit peering. + * + * @param {string} [putExpressRouteConnectionParameters.authorizationKey] + * Authorization key to establish the connection. + * + * @param {number} [putExpressRouteConnectionParameters.routingWeight] The + * routing weight associated to the connection. + * + * @param {string} putExpressRouteConnectionParameters.name The name of the + * resource. + * + * @param {string} [putExpressRouteConnectionParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -10173,7 +10618,7 @@ export interface LoadBalancerBackendAddressPools { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerBackendAddressPoolListResult} - The deserialized result object. + * @resolve {ExpressRouteConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10181,27 +10626,28 @@ export interface LoadBalancerBackendAddressPools { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerBackendAddressPoolListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerBackendAddressPoolListResult} - * for more information. + * {ExpressRouteConnection} [result] - The deserialized result object if an error did not occur. + * See {@link ExpressRouteConnection} for more + * information. * * {WebResource} [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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, putExpressRouteConnectionParameters: models.ExpressRouteConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets load balancer backend address pool. + * Deletes a connection to a ExpressRoute circuit. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {string} backendAddressPoolName The name of the backend address pool. + * @param {string} connectionName The name of the connection subresource. * * @param {object} [options] Optional Parameters. * @@ -10210,20 +10656,21 @@ export interface LoadBalancerBackendAddressPools { * * @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, loadBalancerName: string, backendAddressPoolName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets load balancer backend address pool. + * Deletes a connection to a ExpressRoute circuit. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} expressRouteGatewayName The name of the ExpressRoute + * gateway. * - * @param {string} backendAddressPoolName The name of the backend address pool. + * @param {string} connectionName The name of the connection subresource. * * @param {object} [options] Optional Parameters. * @@ -10237,7 +10684,7 @@ export interface LoadBalancerBackendAddressPools { * * {Promise} A promise is returned. * - * @resolve {BackendAddressPool} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10245,23 +10692,32 @@ export interface LoadBalancerBackendAddressPools { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BackendAddressPool} [result] - The deserialized result object if an error did not occur. - * See {@link BackendAddressPool} 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, loadBalancerName: string, backendAddressPoolName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, loadBalancerName: string, backendAddressPoolName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, loadBalancerName: string, backendAddressPoolName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, expressRouteGatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * InterfaceEndpoints + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface InterfaceEndpoints { /** - * Gets all the load balancer backed address pools. + * Deletes the specified interface endpoint. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. * * @param {object} [options] Optional Parameters. * @@ -10270,17 +10726,18 @@ export interface LoadBalancerBackendAddressPools { * * @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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, interfaceEndpointName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancer backed address pools. + * Deletes the specified interface endpoint. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. * * @param {object} [options] Optional Parameters. * @@ -10294,7 +10751,7 @@ export interface LoadBalancerBackendAddressPools { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerBackendAddressPoolListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10302,57 +10759,50 @@ export interface LoadBalancerBackendAddressPools { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerBackendAddressPoolListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerBackendAddressPoolListResult} - * 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 - * LoadBalancerFrontendIPConfigurations - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface LoadBalancerFrontendIPConfigurations { + deleteMethod(resourceGroupName: string, interfaceEndpointName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, interfaceEndpointName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, interfaceEndpointName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancer frontend IP configurations. + * Gets the specified interface endpoint by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} interfaceEndpointName The name of the interface endpoint. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, interfaceEndpointName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancer frontend IP configurations. + * Gets the specified interface endpoint by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} interfaceEndpointName The name of the interface endpoint. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -10363,7 +10813,7 @@ export interface LoadBalancerFrontendIPConfigurations { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerFrontendIPConfigurationListResult} - The deserialized result object. + * @resolve {InterfaceEndpoint} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10371,29 +10821,53 @@ export interface LoadBalancerFrontendIPConfigurations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerFrontendIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link - * LoadBalancerFrontendIPConfigurationListResult} for more - * information. + * {InterfaceEndpoint} [result] - The deserialized result object if an error did not occur. + * See {@link InterfaceEndpoint} for more information. * * {WebResource} [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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, interfaceEndpointName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, interfaceEndpointName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, interfaceEndpointName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets load balancer frontend IP configuration. + * Creates or updates an interface endpoint in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} interfaceEndpointName The name of the interface endpoint. * - * @param {string} frontendIPConfigurationName The name of the frontend IP - * configuration. + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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. * @@ -10402,21 +10876,47 @@ export interface LoadBalancerFrontendIPConfigurations { * * @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, loadBalancerName: string, frontendIPConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets load balancer frontend IP configuration. + * Creates or updates an interface endpoint in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} interfaceEndpointName The name of the interface endpoint. * - * @param {string} frontendIPConfigurationName The name of the frontend IP - * configuration. + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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. * @@ -10430,7 +10930,7 @@ export interface LoadBalancerFrontendIPConfigurations { * * {Promise} A promise is returned. * - * @resolve {FrontendIPConfiguration} - The deserialized result object. + * @resolve {InterfaceEndpoint} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10438,24 +10938,22 @@ export interface LoadBalancerFrontendIPConfigurations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {FrontendIPConfiguration} [result] - The deserialized result object if an error did not occur. - * See {@link FrontendIPConfiguration} for more - * information. + * {InterfaceEndpoint} [result] - The deserialized result object if an error did not occur. + * See {@link InterfaceEndpoint} for more information. * * {WebResource} [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, loadBalancerName: string, frontendIPConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, loadBalancerName: string, frontendIPConfigurationName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, loadBalancerName: string, frontendIPConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancer frontend IP configurations. + * Gets all interface endpoints 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. * @@ -10464,17 +10962,16 @@ export interface LoadBalancerFrontendIPConfigurations { * * @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>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancer frontend IP configurations. + * Gets all interface endpoints 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. * @@ -10488,7 +10985,7 @@ export interface LoadBalancerFrontendIPConfigurations { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerFrontendIPConfigurationListResult} - The deserialized result object. + * @resolve {InterfaceEndpointListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10496,35 +10993,21 @@ export interface LoadBalancerFrontendIPConfigurations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerFrontendIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link - * LoadBalancerFrontendIPConfigurationListResult} for more + * {InterfaceEndpointListResult} [result] - The deserialized result object if an error did not occur. + * See {@link InterfaceEndpointListResult} for more * information. * * {WebResource} [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 - * InboundNatRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface InboundNatRules { + 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 the inbound nat rules in a load balancer. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Gets all interface endpoints in a subscription. * * @param {object} [options] Optional Parameters. * @@ -10533,18 +11016,14 @@ export interface InboundNatRules { * * @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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listBySubscriptionWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the inbound nat rules in a load balancer. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Gets all interface endpoints in a subscription. * * @param {object} [options] Optional Parameters. * @@ -10558,7 +11037,7 @@ export interface InboundNatRules { * * {Promise} A promise is returned. * - * @resolve {InboundNatRuleListResult} - The deserialized result object. + * @resolve {InterfaceEndpointListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10566,27 +11045,25 @@ export interface InboundNatRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {InboundNatRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link InboundNatRuleListResult} for more + * {InterfaceEndpointListResult} [result] - The deserialized result object if an error did not occur. + * See {@link InterfaceEndpointListResult} for more * information. * * {WebResource} [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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listBySubscription(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listBySubscription(callback: ServiceCallback): void; + listBySubscription(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified load balancer inbound nat rule. + * Deletes the specified interface endpoint. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {string} inboundNatRuleName The name of the inbound nat rule. + * @param {string} interfaceEndpointName The name of the interface endpoint. * * @param {object} [options] Optional Parameters. * @@ -10599,16 +11076,14 @@ export interface InboundNatRules { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, interfaceEndpointName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified load balancer inbound nat rule. + * Deletes the specified interface endpoint. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {string} inboundNatRuleName The name of the inbound nat rule. + * @param {string} interfaceEndpointName The name of the interface endpoint. * * @param {object} [options] Optional Parameters. * @@ -10636,47 +11111,97 @@ export interface InboundNatRules { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, interfaceEndpointName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, interfaceEndpointName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, interfaceEndpointName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified load balancer inbound nat rule. + * Creates or updates an interface endpoint in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} interfaceEndpointName The name of the interface endpoint. * - * @param {string} inboundNatRuleName The name of the inbound nat rule. + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified load balancer inbound nat rule. + * Creates or updates an interface endpoint in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} interfaceEndpointName The name of the interface endpoint. * - * @param {string} inboundNatRuleName The name of the inbound nat rule. + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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 @@ -10688,7 +11213,7 @@ export interface InboundNatRules { * * {Promise} A promise is returned. * - * @resolve {InboundNatRule} - The deserialized result object. + * @resolve {InterfaceEndpoint} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10696,73 +11221,23 @@ export interface InboundNatRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {InboundNatRule} [result] - The deserialized result object if an error did not occur. - * See {@link InboundNatRule} for more information. + * {InterfaceEndpoint} [result] - The deserialized result object if an error did not occur. + * See {@link InterfaceEndpoint} for more information. * * {WebResource} [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, loadBalancerName: string, inboundNatRuleName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, interfaceEndpointName: string, parameters: models.InterfaceEndpoint, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a load balancer inbound nat rule. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {string} inboundNatRuleName The name of the inbound nat rule. - * - * @param {object} inboundNatRuleParameters Parameters supplied to the create - * or update inbound nat rule operation. - * - * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A - * reference to frontend IP addresses. - * - * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] - * Resource ID. - * - * @param {string} [inboundNatRuleParameters.protocol] Possible values include: - * 'Udp', 'Tcp', 'All' - * - * @param {number} [inboundNatRuleParameters.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. - * - * @param {number} [inboundNatRuleParameters.backendPort] The port used for the - * internal endpoint. Acceptable values range from 1 to 65535. - * - * @param {number} [inboundNatRuleParameters.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. - * - * @param {boolean} [inboundNatRuleParameters.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. - * - * @param {boolean} [inboundNatRuleParameters.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. - * - * @param {string} [inboundNatRuleParameters.provisioningState] Gets the - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * Gets all interface endpoints in a resource group. * - * @param {string} [inboundNatRuleParameters.name] Gets name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [inboundNatRuleParameters.etag] A unique read-only string - * that changes whenever the resource is updated. - * - * @param {string} [inboundNatRuleParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -10771,67 +11246,75 @@ export interface InboundNatRules { * * @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, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a load balancer inbound nat rule. + * Gets all interface endpoints 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 {string} loadBalancerName The name of the load balancer. + * @param {object} [options] Optional Parameters. * - * @param {string} inboundNatRuleName The name of the inbound nat rule. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} inboundNatRuleParameters Parameters supplied to the create - * or update inbound nat rule operation. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A - * reference to frontend IP addresses. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] - * Resource ID. + * {Promise} A promise is returned. * - * @param {string} [inboundNatRuleParameters.protocol] Possible values include: - * 'Udp', 'Tcp', 'All' + * @resolve {InterfaceEndpointListResult} - The deserialized result object. * - * @param {number} [inboundNatRuleParameters.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. + * @reject {Error|ServiceError} - The error object. * - * @param {number} [inboundNatRuleParameters.backendPort] The port used for the - * internal endpoint. Acceptable values range from 1 to 65535. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {number} [inboundNatRuleParameters.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. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {boolean} [inboundNatRuleParameters.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. + * {InterfaceEndpointListResult} [result] - The deserialized result object if an error did not occur. + * See {@link InterfaceEndpointListResult} for more + * information. * - * @param {boolean} [inboundNatRuleParameters.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. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [inboundNatRuleParameters.provisioningState] Gets the - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * {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 interface endpoints in a subscription. * - * @param {string} [inboundNatRuleParameters.name] Gets name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} [inboundNatRuleParameters.etag] A unique read-only string - * that changes whenever the resource is updated. + * @param {object} [options] Optional Parameters. * - * @param {string} [inboundNatRuleParameters.id] Resource ID. + * @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. + */ + listBySubscriptionNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all interface endpoints in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -10845,7 +11328,7 @@ export interface InboundNatRules { * * {Promise} A promise is returned. * - * @resolve {InboundNatRule} - The deserialized result object. + * @resolve {InterfaceEndpointListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -10853,27 +11336,35 @@ export interface InboundNatRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {InboundNatRule} [result] - The deserialized result object if an error did not occur. - * See {@link InboundNatRule} for more information. + * {InterfaceEndpointListResult} [result] - The deserialized result object if an error did not occur. + * See {@link InterfaceEndpointListResult} for more + * information. * * {WebResource} [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, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listBySubscriptionNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listBySubscriptionNext(nextPageLink: string, callback: ServiceCallback): void; + listBySubscriptionNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * LoadBalancers + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LoadBalancers { /** - * Deletes the specified load balancer inbound nat rule. + * Deletes the specified load balancer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} inboundNatRuleName The name of the inbound nat rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -10885,17 +11376,15 @@ export interface InboundNatRules { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified load balancer inbound nat rule. + * Deletes the specified load balancer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} inboundNatRuleName The name of the inbound nat rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -10922,66 +11411,135 @@ export interface InboundNatRules { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a load balancer inbound nat rule. + * Gets the specified load balancer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} inboundNatRuleName The name of the inbound nat rule. + * @param {object} [options] Optional Parameters. * - * @param {object} inboundNatRuleParameters Parameters supplied to the create - * or update inbound nat rule operation. + * @param {string} [options.expand] Expands referenced resources. * - * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A - * reference to frontend IP addresses. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] - * Resource ID. + * @returns {Promise} A promise is returned * - * @param {string} [inboundNatRuleParameters.protocol] Possible values include: - * 'Udp', 'Tcp', 'All' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {number} [inboundNatRuleParameters.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. + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified load balancer. * - * @param {number} [inboundNatRuleParameters.backendPort] The port used for the - * internal endpoint. Acceptable values range from 1 to 65535. + * @param {string} resourceGroupName The name of the resource group. * - * @param {number} [inboundNatRuleParameters.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. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {boolean} [inboundNatRuleParameters.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. + * @param {object} [options] Optional Parameters. * - * @param {boolean} [inboundNatRuleParameters.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. + * @param {string} [options.expand] Expands referenced resources. * - * @param {string} [inboundNatRuleParameters.provisioningState] Gets the - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [inboundNatRuleParameters.name] Gets name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [inboundNatRuleParameters.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} [inboundNatRuleParameters.id] Resource ID. + * {Promise} A promise is returned. + * + * @resolve {LoadBalancer} - 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. + * + * {LoadBalancer} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancer} for more information. + * + * {WebResource} [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, loadBalancerName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a load balancer. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {object} parameters Parameters supplied to the create or update load + * balancer operation. + * + * @param {object} [parameters.sku] The load balancer SKU. + * + * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible + * values include: 'Basic', 'Standard' + * + * @param {array} [parameters.frontendIPConfigurations] Object representing the + * frontend IPs to be used for the load balancer + * + * @param {array} [parameters.backendAddressPools] Collection of backend + * address pools used by a load balancer + * + * @param {array} [parameters.loadBalancingRules] Object collection + * representing the load balancing rules Gets the provisioning + * + * @param {array} [parameters.probes] Collection of probe objects used in the + * load balancer + * + * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules + * used by a load balancer. Defining inbound NAT rules on your load balancer is + * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are + * referenced from virtual machine scale sets. NICs that are associated with + * individual virtual machines cannot reference an Inbound NAT pool. They have + * to reference individual inbound NAT rules. + * + * @param {array} [parameters.inboundNatPools] Defines an external port range + * for inbound NAT to a single backend port on NICs associated with a load + * balancer. Inbound NAT rules are created automatically for each NIC + * associated with the Load Balancer using an external port from this range. + * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive + * with defining inbound Nat rules. Inbound NAT pools are referenced from + * virtual machine scale sets. NICs that are associated with individual virtual + * machines cannot reference an inbound NAT pool. They have to reference + * individual inbound NAT rules. + * + * @param {array} [parameters.outboundRules] The outbound rules. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * load balancer resource. + * + * @param {string} [parameters.provisioningState] Gets the provisioning state + * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -10990,67 +11548,73 @@ export interface InboundNatRules { * * @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, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a load balancer inbound nat rule. + * Creates or updates a load balancer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} inboundNatRuleName The name of the inbound nat rule. + * @param {object} parameters Parameters supplied to the create or update load + * balancer operation. * - * @param {object} inboundNatRuleParameters Parameters supplied to the create - * or update inbound nat rule operation. + * @param {object} [parameters.sku] The load balancer SKU. * - * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A - * reference to frontend IP addresses. + * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible + * values include: 'Basic', 'Standard' * - * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] - * Resource ID. + * @param {array} [parameters.frontendIPConfigurations] Object representing the + * frontend IPs to be used for the load balancer * - * @param {string} [inboundNatRuleParameters.protocol] Possible values include: - * 'Udp', 'Tcp', 'All' + * @param {array} [parameters.backendAddressPools] Collection of backend + * address pools used by a load balancer * - * @param {number} [inboundNatRuleParameters.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. + * @param {array} [parameters.loadBalancingRules] Object collection + * representing the load balancing rules Gets the provisioning * - * @param {number} [inboundNatRuleParameters.backendPort] The port used for the - * internal endpoint. Acceptable values range from 1 to 65535. + * @param {array} [parameters.probes] Collection of probe objects used in the + * load balancer * - * @param {number} [inboundNatRuleParameters.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. + * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules + * used by a load balancer. Defining inbound NAT rules on your load balancer is + * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are + * referenced from virtual machine scale sets. NICs that are associated with + * individual virtual machines cannot reference an Inbound NAT pool. They have + * to reference individual inbound NAT rules. * - * @param {boolean} [inboundNatRuleParameters.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. + * @param {array} [parameters.inboundNatPools] Defines an external port range + * for inbound NAT to a single backend port on NICs associated with a load + * balancer. Inbound NAT rules are created automatically for each NIC + * associated with the Load Balancer using an external port from this range. + * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive + * with defining inbound Nat rules. Inbound NAT pools are referenced from + * virtual machine scale sets. NICs that are associated with individual virtual + * machines cannot reference an inbound NAT pool. They have to reference + * individual inbound NAT rules. * - * @param {boolean} [inboundNatRuleParameters.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. + * @param {array} [parameters.outboundRules] The outbound rules. * - * @param {string} [inboundNatRuleParameters.provisioningState] Gets the - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * load balancer resource. * - * @param {string} [inboundNatRuleParameters.name] Gets name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @param {string} [parameters.provisioningState] Gets the provisioning state + * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [inboundNatRuleParameters.etag] 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} [inboundNatRuleParameters.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. * @@ -11064,7 +11628,7 @@ export interface InboundNatRules { * * {Promise} A promise is returned. * - * @resolve {InboundNatRule} - The deserialized result object. + * @resolve {LoadBalancer} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11072,23 +11636,28 @@ export interface InboundNatRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {InboundNatRule} [result] - The deserialized result object if an error did not occur. - * See {@link InboundNatRule} for more information. + * {LoadBalancer} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancer} for more information. * * {WebResource} [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, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the inbound nat rules in a load balancer. + * Updates a load balancer 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} loadBalancerName The name of the load balancer. + * + * @param {object} parameters Parameters supplied to update load balancer tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -11097,17 +11666,22 @@ export interface InboundNatRules { * * @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, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the inbound nat rules in a load balancer. + * Updates a load balancer 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} loadBalancerName The name of the load balancer. + * + * @param {object} parameters Parameters supplied to update load balancer tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -11121,7 +11695,7 @@ export interface InboundNatRules { * * {Promise} A promise is returned. * - * @resolve {InboundNatRuleListResult} - The deserialized result object. + * @resolve {LoadBalancer} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11129,34 +11703,20 @@ export interface InboundNatRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {InboundNatRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link InboundNatRuleListResult} for more - * information. - * + * {LoadBalancer} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancer} for more information. + * * {WebResource} [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 - * LoadBalancerLoadBalancingRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface LoadBalancerLoadBalancingRules { + updateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancing rules in a load balancer. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Gets all the load balancers in a subscription. * * @param {object} [options] Optional Parameters. * @@ -11165,18 +11725,14 @@ export interface LoadBalancerLoadBalancingRules { * * @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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancing rules in a load balancer. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Gets all the load balancers in a subscription. * * @param {object} [options] Optional Parameters. * @@ -11190,7 +11746,7 @@ export interface LoadBalancerLoadBalancingRules { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerLoadBalancingRuleListResult} - The deserialized result object. + * @resolve {LoadBalancerListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11198,28 +11754,24 @@ export interface LoadBalancerLoadBalancingRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerLoadBalancingRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerLoadBalancingRuleListResult} for - * more information. + * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerListResult} for more + * information. * * {WebResource} [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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, loadBalancerName: 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 load balancer load balancing rule. + * Gets all the load balancers in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {string} loadBalancingRuleName The name of the load balancing rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -11227,21 +11779,17 @@ export interface LoadBalancerLoadBalancingRules { * * @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, loadBalancerName: string, loadBalancingRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified load balancer load balancing rule. + * Gets all the load balancers in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} loadBalancerName The name of the load balancer. - * - * @param {string} loadBalancingRuleName The name of the load balancing rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -11254,7 +11802,7 @@ export interface LoadBalancerLoadBalancingRules { * * {Promise} A promise is returned. * - * @resolve {LoadBalancingRule} - The deserialized result object. + * @resolve {LoadBalancerListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11262,23 +11810,25 @@ export interface LoadBalancerLoadBalancingRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancingRule} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancingRule} for more information. + * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerListResult} for more + * information. * * {WebResource} [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, loadBalancerName: string, loadBalancingRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, loadBalancerName: string, loadBalancingRuleName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, loadBalancerName: string, loadBalancingRuleName: 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 all the load balancing rules in a load balancer. + * Deletes the specified load balancer. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * @@ -11287,17 +11837,18 @@ export interface LoadBalancerLoadBalancingRules { * * @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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancing rules in a load balancer. + * Deletes the specified load balancer. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * @@ -11311,7 +11862,7 @@ export interface LoadBalancerLoadBalancingRules { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerLoadBalancingRuleListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11319,35 +11870,79 @@ export interface LoadBalancerLoadBalancingRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerLoadBalancingRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerLoadBalancingRuleListResult} 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 - * LoadBalancerNetworkInterfaces - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface LoadBalancerNetworkInterfaces { + beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets associated load balancer network interfaces. + * Creates or updates a load balancer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} loadBalancerName The name of the load balancer. * + * @param {object} parameters Parameters supplied to the create or update load + * balancer operation. + * + * @param {object} [parameters.sku] The load balancer SKU. + * + * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible + * values include: 'Basic', 'Standard' + * + * @param {array} [parameters.frontendIPConfigurations] Object representing the + * frontend IPs to be used for the load balancer + * + * @param {array} [parameters.backendAddressPools] Collection of backend + * address pools used by a load balancer + * + * @param {array} [parameters.loadBalancingRules] Object collection + * representing the load balancing rules Gets the provisioning + * + * @param {array} [parameters.probes] Collection of probe objects used in the + * load balancer + * + * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules + * used by a load balancer. Defining inbound NAT rules on your load balancer is + * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are + * referenced from virtual machine scale sets. NICs that are associated with + * individual virtual machines cannot reference an Inbound NAT pool. They have + * to reference individual inbound NAT rules. + * + * @param {array} [parameters.inboundNatPools] Defines an external port range + * for inbound NAT to a single backend port on NICs associated with a load + * balancer. Inbound NAT rules are created automatically for each NIC + * associated with the Load Balancer using an external port from this range. + * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive + * with defining inbound Nat rules. Inbound NAT pools are referenced from + * virtual machine scale sets. NICs that are associated with individual virtual + * machines cannot reference an inbound NAT pool. They have to reference + * individual inbound NAT rules. + * + * @param {array} [parameters.outboundRules] The outbound rules. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * load balancer resource. + * + * @param {string} [parameters.provisioningState] Gets the provisioning state + * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {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 @@ -11355,19 +11950,74 @@ export interface LoadBalancerNetworkInterfaces { * * @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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets associated load balancer network interfaces. + * Creates or updates a load balancer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} loadBalancerName The name of the load balancer. * + * @param {object} parameters Parameters supplied to the create or update load + * balancer operation. + * + * @param {object} [parameters.sku] The load balancer SKU. + * + * @param {string} [parameters.sku.name] Name of a load balancer SKU. Possible + * values include: 'Basic', 'Standard' + * + * @param {array} [parameters.frontendIPConfigurations] Object representing the + * frontend IPs to be used for the load balancer + * + * @param {array} [parameters.backendAddressPools] Collection of backend + * address pools used by a load balancer + * + * @param {array} [parameters.loadBalancingRules] Object collection + * representing the load balancing rules Gets the provisioning + * + * @param {array} [parameters.probes] Collection of probe objects used in the + * load balancer + * + * @param {array} [parameters.inboundNatRules] Collection of inbound NAT Rules + * used by a load balancer. Defining inbound NAT rules on your load balancer is + * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are + * referenced from virtual machine scale sets. NICs that are associated with + * individual virtual machines cannot reference an Inbound NAT pool. They have + * to reference individual inbound NAT rules. + * + * @param {array} [parameters.inboundNatPools] Defines an external port range + * for inbound NAT to a single backend port on NICs associated with a load + * balancer. Inbound NAT rules are created automatically for each NIC + * associated with the Load Balancer using an external port from this range. + * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive + * with defining inbound Nat rules. Inbound NAT pools are referenced from + * virtual machine scale sets. NICs that are associated with individual virtual + * machines cannot reference an inbound NAT pool. They have to reference + * individual inbound NAT rules. + * + * @param {array} [parameters.outboundRules] The outbound rules. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * load balancer resource. + * + * @param {string} [parameters.provisioningState] Gets the provisioning state + * of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {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 @@ -11380,7 +12030,7 @@ export interface LoadBalancerNetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {LoadBalancer} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11388,43 +12038,52 @@ export interface LoadBalancerNetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} for more - * information. + * {LoadBalancer} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancer} for more information. * * {WebResource} [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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, parameters: models.LoadBalancer, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets associated load balancer network interfaces. + * Updates a load balancer tags. * - * @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} loadBalancerName The name of the load balancer. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to update load balancer tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets associated load balancer network interfaces. + * Updates a load balancer 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} loadBalancerName The name of the load balancer. + * + * @param {object} parameters Parameters supplied to update load balancer tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -11438,7 +12097,7 @@ export interface LoadBalancerNetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {LoadBalancer} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11446,34 +12105,23 @@ export interface LoadBalancerNetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} for more - * information. + * {LoadBalancer} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancer} for more information. * * {WebResource} [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 - * LoadBalancerProbes - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface LoadBalancerProbes { + beginUpdateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, loadBalancerName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the load balancer probes. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the load balancers in a subscription. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -11482,18 +12130,17 @@ export interface LoadBalancerProbes { * * @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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancer probes. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the load balancers in a subscription. * - * @param {string} loadBalancerName The name of the load balancer. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -11507,7 +12154,7 @@ export interface LoadBalancerProbes { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerProbeListResult} - The deserialized result object. + * @resolve {LoadBalancerListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11515,27 +12162,24 @@ export interface LoadBalancerProbes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerProbeListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerProbeListResult} for more + * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerListResult} for more * information. * * {WebResource} [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, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, loadBalancerName: 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 load balancer probe. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Gets all the load balancers in a resource group. * - * @param {string} probeName The name of the probe. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -11544,20 +12188,17 @@ export interface LoadBalancerProbes { * * @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, loadBalancerName: string, probeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets load balancer probe. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} loadBalancerName The name of the load balancer. + * Gets all the load balancers in a resource group. * - * @param {string} probeName The name of the probe. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -11571,7 +12212,7 @@ export interface LoadBalancerProbes { * * {Promise} A promise is returned. * - * @resolve {Probe} - The deserialized result object. + * @resolve {LoadBalancerListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11579,23 +12220,34 @@ export interface LoadBalancerProbes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Probe} [result] - The deserialized result object if an error did not occur. - * See {@link Probe} for more information. + * {LoadBalancerListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerListResult} for more + * information. * * {WebResource} [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, loadBalancerName: string, probeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, loadBalancerName: string, probeName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, loadBalancerName: string, probeName: 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 + * LoadBalancerBackendAddressPools + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LoadBalancerBackendAddressPools { /** - * Gets all the load balancer probes. + * Gets all the load balancer backed address pools. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * @@ -11604,17 +12256,18 @@ export interface LoadBalancerProbes { * * @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>; + listWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the load balancer probes. + * Gets all the load balancer backed address pools. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * @@ -11628,7 +12281,7 @@ export interface LoadBalancerProbes { * * {Promise} A promise is returned. * - * @resolve {LoadBalancerProbeListResult} - The deserialized result object. + * @resolve {LoadBalancerBackendAddressPoolListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11636,34 +12289,27 @@ export interface LoadBalancerProbes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LoadBalancerProbeListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LoadBalancerProbeListResult} for more - * information. + * {LoadBalancerBackendAddressPoolListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerBackendAddressPoolListResult} + * for more information. * * {WebResource} [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 - * NetworkInterfaces - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface NetworkInterfaces { + list(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network interface. + * Gets load balancer backend address pool. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} backendAddressPoolName The name of the backend address pool. * * @param {object} [options] Optional Parameters. * @@ -11672,18 +12318,20 @@ export interface NetworkInterfaces { * * @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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, backendAddressPoolName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network interface. + * Gets load balancer backend address pool. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} backendAddressPoolName The name of the backend address pool. * * @param {object} [options] Optional Parameters. * @@ -11697,7 +12345,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {BackendAddressPool} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11705,50 +12353,45 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {BackendAddressPool} [result] - The deserialized result object if an error did not occur. + * See {@link BackendAddressPool} for more information. * * {WebResource} [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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, backendAddressPoolName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, loadBalancerName: string, backendAddressPoolName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, backendAddressPoolName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about the specified network interface. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the load balancer backed address pools. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about the specified network interface. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the load balancer backed address pools. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -11759,7 +12402,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterface} - The deserialized result object. + * @resolve {LoadBalancerBackendAddressPoolListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -11767,115 +12410,98 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterface} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterface} for more information. + * {LoadBalancerBackendAddressPoolListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerBackendAddressPoolListResult} + * for more information. * * {WebResource} [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, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkInterfaceName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * LoadBalancerFrontendIPConfigurations + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LoadBalancerFrontendIPConfigurations { /** - * Creates or updates a network interface. + * Gets all the load balancer frontend IP configurations. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {object} parameters Parameters supplied to the create or update - * network interface operation. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.virtualMachine] The reference of a virtual - * machine. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.virtualMachine.id] Resource ID. + * @returns {Promise} A promise is returned * - * @param {object} [parameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} [parameters.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the load balancer frontend IP configurations. * - * @param {array} [parameters.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * - * @param {string} [parameters.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * - * @param {string} [parameters.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [parameters.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [parameters.networkSecurityGroup.id] Resource ID. - * - * @param {string} [parameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. - * - * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of - * the network interface. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.dnsSettings] The DNS settings in network - * interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP - * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS - * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it - * must be the only value in dnsServers collection. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that - * uses this NIC is part of an Availability Set, then this list will have the - * union of all DNS servers from all NICs that are part of the Availability - * Set. This property is what is configured on each of those VMs. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS - * name for this NIC used for internal communications between VMs in the same - * virtual network. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS - * name supporting internal communications between VMs in the same 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} [parameters.dnsSettings.internalDomainNameSuffix] Even if - * internalDnsNameLabel is not specified, a DNS entry is created for the - * primary NIC of the VM. This DNS name can be constructed by concatenating the - * VM name with the value of internalDomainNameSuffix. + * {Promise} A promise is returned. * - * @param {string} [parameters.macAddress] The MAC address of the network - * interface. + * @resolve {LoadBalancerFrontendIPConfigurationListResult} - The deserialized result object. * - * @param {boolean} [parameters.primary] Gets whether this is a primary network - * interface on a virtual machine. + * @reject {Error|ServiceError} - The error object. * - * @param {boolean} [parameters.enableAcceleratedNetworking] If the network - * interface is accelerated networking enabled. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP - * forwarding is enabled on this network interface. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network interface resource. + * {LoadBalancerFrontendIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link + * LoadBalancerFrontendIPConfigurationListResult} for more + * information. * - * @param {string} [parameters.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.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. + */ + list(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets load balancer frontend IP configuration. * - * @param {string} [parameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.location] Resource location. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} frontendIPConfigurationName The name of the frontend IP + * configuration. * * @param {object} [options] Optional Parameters. * @@ -11884,109 +12510,79 @@ export interface NetworkInterfaces { * * @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, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, frontendIPConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a network interface. + * Gets load balancer frontend IP configuration. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. - * - * @param {object} parameters Parameters supplied to the create or update - * network interface operation. - * - * @param {object} [parameters.virtualMachine] The reference of a virtual - * machine. - * - * @param {string} [parameters.virtualMachine.id] Resource ID. - * - * @param {object} [parameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [parameters.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. - * - * @param {array} [parameters.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * - * @param {string} [parameters.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * - * @param {string} [parameters.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [parameters.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} [parameters.networkSecurityGroup.id] Resource ID. + * @param {string} frontendIPConfigurationName The name of the frontend IP + * configuration. * - * @param {string} [parameters.networkSecurityGroup.location] Resource - * location. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of - * the network interface. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.dnsSettings] The DNS settings in network - * interface. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP - * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS - * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it - * must be the only value in dnsServers collection. + * {Promise} A promise is returned. * - * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that - * uses this NIC is part of an Availability Set, then this list will have the - * union of all DNS servers from all NICs that are part of the Availability - * Set. This property is what is configured on each of those VMs. + * @resolve {FrontendIPConfiguration} - The deserialized result object. * - * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS - * name for this NIC used for internal communications between VMs in the same - * virtual network. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS - * name supporting internal communications between VMs in the same virtual - * network. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [parameters.dnsSettings.internalDomainNameSuffix] Even if - * internalDnsNameLabel is not specified, a DNS entry is created for the - * primary NIC of the VM. This DNS name can be constructed by concatenating the - * VM name with the value of internalDomainNameSuffix. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.macAddress] The MAC address of the network - * interface. + * {FrontendIPConfiguration} [result] - The deserialized result object if an error did not occur. + * See {@link FrontendIPConfiguration} for more + * information. * - * @param {boolean} [parameters.primary] Gets whether this is a primary network - * interface on a virtual machine. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {boolean} [parameters.enableAcceleratedNetworking] If the network - * interface is accelerated networking enabled. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, loadBalancerName: string, frontendIPConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, loadBalancerName: string, frontendIPConfigurationName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, frontendIPConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all the load balancer frontend IP configurations. * - * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP - * forwarding is enabled on this network interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network interface resource. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.id] Resource ID. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.location] Resource location. + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the load balancer frontend IP configurations. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -12000,7 +12596,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterface} - The deserialized result object. + * @resolve {LoadBalancerFrontendIPConfigurationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12008,29 +12604,35 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterface} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterface} for more information. + * {LoadBalancerFrontendIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link + * LoadBalancerFrontendIPConfigurationListResult} for more + * information. * * {WebResource} [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, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, 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 + * InboundNatRules + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface InboundNatRules { /** - * Updates a network interface tags. + * Gets all the inbound nat rules in a load balancer. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. - * - * @param {object} parameters Parameters supplied to update network interface - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * @@ -12039,23 +12641,18 @@ export interface NetworkInterfaces { * * @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, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network interface tags. + * Gets all the inbound nat rules in a load balancer. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. - * - * @param {object} parameters Parameters supplied to update network interface - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * @@ -12069,7 +12666,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterface} - The deserialized result object. + * @resolve {InboundNatRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12077,20 +12674,27 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterface} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterface} for more information. + * {InboundNatRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link InboundNatRuleListResult} for more + * information. * * {WebResource} [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, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network interfaces in a subscription. + * Deletes the specified load balancer inbound nat rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} inboundNatRuleName The name of the inbound nat rule. * * @param {object} [options] Optional Parameters. * @@ -12099,14 +12703,20 @@ export interface NetworkInterfaces { * * @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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network interfaces in a subscription. + * Deletes the specified load balancer inbound nat rule. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} inboundNatRuleName The name of the inbound nat rule. * * @param {object} [options] Optional Parameters. * @@ -12120,7 +12730,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12128,44 +12738,54 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} 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; + deleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network interfaces in a resource group. + * Gets the specified load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} inboundNatRuleName The name of the inbound nat 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. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network interfaces in a resource group. + * Gets the specified load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} inboundNatRuleName The name of the inbound nat 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 * @@ -12176,7 +12796,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {InboundNatRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12184,105 +12804,142 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} for more - * information. + * {InboundNatRule} [result] - The deserialized result object if an error did not occur. + * See {@link InboundNatRule} for more information. * * {WebResource} [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; + get(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route tables applied to a network interface. + * Creates or updates a load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {object} [options] Optional Parameters. + * @param {string} inboundNatRuleName The name of the inbound nat rule. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} inboundNatRuleParameters Parameters supplied to the create + * or update inbound nat rule operation. * - * @returns {Promise} A promise is returned + * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A + * reference to frontend IP addresses. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] + * Resource ID. * - * @reject {Error|ServiceError} - The error object. - */ - getEffectiveRouteTableWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all route tables applied to a network interface. + * @param {string} [inboundNatRuleParameters.protocol] Possible values include: + * 'Udp', 'Tcp', 'All' * - * @param {string} resourceGroupName The name of the resource group. + * @param {number} [inboundNatRuleParameters.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. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {number} [inboundNatRuleParameters.backendPort] The port used for the + * internal endpoint. Acceptable values range from 1 to 65535. * - * @param {object} [options] Optional Parameters. + * @param {number} [inboundNatRuleParameters.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. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {boolean} [inboundNatRuleParameters.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. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {boolean} [inboundNatRuleParameters.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. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [inboundNatRuleParameters.provisioningState] Gets the + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {Promise} A promise is returned. + * @param {string} [inboundNatRuleParameters.name] Gets name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. * - * @resolve {EffectiveRouteListResult} - The deserialized result object. + * @param {string} [inboundNatRuleParameters.etag] A unique read-only string + * that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [inboundNatRuleParameters.id] Resource ID. * - * {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 * - * {EffectiveRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link EffectiveRouteListResult} 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. */ - getEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; - getEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups applied to a network interface. + * Creates or updates a load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {object} [options] Optional Parameters. + * @param {string} inboundNatRuleName The name of the inbound nat rule. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} inboundNatRuleParameters Parameters supplied to the create + * or update inbound nat rule operation. * - * @returns {Promise} A promise is returned + * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A + * reference to frontend IP addresses. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] + * Resource ID. * - * @reject {Error|ServiceError} - The error object. - */ - listEffectiveNetworkSecurityGroupsWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network security groups applied to a network interface. + * @param {string} [inboundNatRuleParameters.protocol] Possible values include: + * 'Udp', 'Tcp', 'All' * - * @param {string} resourceGroupName The name of the resource group. + * @param {number} [inboundNatRuleParameters.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. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {number} [inboundNatRuleParameters.backendPort] The port used for the + * internal endpoint. Acceptable values range from 1 to 65535. + * + * @param {number} [inboundNatRuleParameters.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. + * + * @param {boolean} [inboundNatRuleParameters.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. + * + * @param {boolean} [inboundNatRuleParameters.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. + * + * @param {string} [inboundNatRuleParameters.provisioningState] Gets the + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [inboundNatRuleParameters.name] Gets name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [inboundNatRuleParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [inboundNatRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -12296,7 +12953,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {EffectiveNetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {InboundNatRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12304,29 +12961,26 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {EffectiveNetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link EffectiveNetworkSecurityGroupListResult} for - * more information. + * {InboundNatRule} [result] - The deserialized result object if an error did not occur. + * See {@link InboundNatRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; - listEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about all network interfaces in a virtual machine in a - * virtual machine scale set. + * Deletes the specified load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} virtualmachineIndex The virtual machine index. + * @param {string} inboundNatRuleName The name of the inbound nat rule. * * @param {object} [options] Optional Parameters. * @@ -12335,22 +12989,20 @@ export interface NetworkInterfaces { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetVMNetworkInterfacesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all network interfaces in a virtual machine in a - * virtual machine scale set. + * Deletes the specified load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} virtualmachineIndex The virtual machine index. + * @param {string} inboundNatRuleName The name of the inbound nat rule. * * @param {object} [options] Optional Parameters. * @@ -12364,7 +13016,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12372,26 +13024,72 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} 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. */ - listVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** - * Gets all network interfaces in a virtual machine scale set. + * Creates or updates a load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} inboundNatRuleName The name of the inbound nat rule. + * + * @param {object} inboundNatRuleParameters Parameters supplied to the create + * or update inbound nat rule operation. + * + * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A + * reference to frontend IP addresses. + * + * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] + * Resource ID. + * + * @param {string} [inboundNatRuleParameters.protocol] Possible values include: + * 'Udp', 'Tcp', 'All' + * + * @param {number} [inboundNatRuleParameters.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. + * + * @param {number} [inboundNatRuleParameters.backendPort] The port used for the + * internal endpoint. Acceptable values range from 1 to 65535. + * + * @param {number} [inboundNatRuleParameters.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. + * + * @param {boolean} [inboundNatRuleParameters.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. + * + * @param {boolean} [inboundNatRuleParameters.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. + * + * @param {string} [inboundNatRuleParameters.provisioningState] Gets the + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [inboundNatRuleParameters.name] Gets name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [inboundNatRuleParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [inboundNatRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -12400,19 +13098,67 @@ export interface NetworkInterfaces { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetNetworkInterfacesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network interfaces in a virtual machine scale set. + * Creates or updates a load balancer inbound nat rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} loadBalancerName The name of the load balancer. + * + * @param {string} inboundNatRuleName The name of the inbound nat rule. + * + * @param {object} inboundNatRuleParameters Parameters supplied to the create + * or update inbound nat rule operation. + * + * @param {object} [inboundNatRuleParameters.frontendIPConfiguration] A + * reference to frontend IP addresses. + * + * @param {string} [inboundNatRuleParameters.frontendIPConfiguration.id] + * Resource ID. + * + * @param {string} [inboundNatRuleParameters.protocol] Possible values include: + * 'Udp', 'Tcp', 'All' + * + * @param {number} [inboundNatRuleParameters.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. + * + * @param {number} [inboundNatRuleParameters.backendPort] The port used for the + * internal endpoint. Acceptable values range from 1 to 65535. + * + * @param {number} [inboundNatRuleParameters.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. + * + * @param {boolean} [inboundNatRuleParameters.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. + * + * @param {boolean} [inboundNatRuleParameters.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. + * + * @param {string} [inboundNatRuleParameters.provisioningState] Gets the + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [inboundNatRuleParameters.name] Gets name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [inboundNatRuleParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [inboundNatRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -12426,7 +13172,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {InboundNatRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12434,62 +13180,45 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} for more - * information. + * {InboundNatRule} [result] - The deserialized result object if an error did not occur. + * See {@link InboundNatRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, loadBalancerName: string, inboundNatRuleName: string, inboundNatRuleParameters: models.InboundNatRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the specified network interface 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. + * Gets all the inbound nat rules in a load balancer. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getVirtualMachineScaleSetNetworkInterfaceWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified network interface 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. + * Gets all the inbound nat rules in a load balancer. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -12500,7 +13229,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterface} - The deserialized result object. + * @resolve {InboundNatRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12508,63 +13237,57 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterface} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterface} for more information. + * {InboundNatRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link InboundNatRuleListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getVirtualMachineScaleSetNetworkInterface(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - getVirtualMachineScaleSetNetworkInterface(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, callback: ServiceCallback): void; - getVirtualMachineScaleSetNetworkInterface(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * LoadBalancerLoadBalancingRules + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LoadBalancerLoadBalancingRules { /** - * Get the specified network interface ip configuration in a virtual machine - * scale set. + * Gets all the load balancing rules in a load balancer. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * * @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. */ - listVirtualMachineScaleSetIpConfigurationsWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified network interface ip configuration in a virtual machine - * scale set. + * Gets all the load balancing rules in a load balancer. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -12575,7 +13298,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. + * @resolve {LoadBalancerLoadBalancingRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12583,68 +13306,52 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceIPConfigurationListResult} - * for more information. + * {LoadBalancerLoadBalancingRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerLoadBalancingRuleListResult} for + * more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetIpConfigurations(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetIpConfigurations(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetIpConfigurations(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the specified network interface ip configuration in a virtual machine - * scale set. + * Gets the specified load balancer load balancing rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} ipConfigurationName The name of the ip configuration. + * @param {string} loadBalancingRuleName The name of the load balancing 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. */ - getVirtualMachineScaleSetIpConfigurationWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, loadBalancingRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified network interface ip configuration in a virtual machine - * scale set. + * Gets the specified load balancer load balancing rule. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. - * - * @param {string} virtualmachineIndex The virtual machine index. - * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} ipConfigurationName The name of the ip configuration. + * @param {string} loadBalancingRuleName The name of the load balancing 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 * @@ -12655,7 +13362,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceIPConfiguration} - The deserialized result object. + * @resolve {LoadBalancingRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12663,25 +13370,23 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceIPConfiguration} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceIPConfiguration} for more - * information. + * {LoadBalancingRule} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancingRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getVirtualMachineScaleSetIpConfiguration(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - getVirtualMachineScaleSetIpConfiguration(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, callback: ServiceCallback): void; - getVirtualMachineScaleSetIpConfiguration(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, loadBalancingRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, loadBalancerName: string, loadBalancingRuleName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, loadBalancingRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network interface. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the load balancing rules in a load balancer. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -12690,18 +13395,17 @@ export interface NetworkInterfaces { * * @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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network interface. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the load balancing rules in a load balancer. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -12715,7 +13419,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {LoadBalancerLoadBalancingRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12723,114 +13427,161 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {LoadBalancerLoadBalancingRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerLoadBalancingRuleListResult} for + * more information. * * {WebResource} [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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkInterfaceName: 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 + * LoadBalancerNetworkInterfaces + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LoadBalancerNetworkInterfaces { /** - * Creates or updates a network interface. + * Gets associated load balancer network interfaces. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {object} parameters Parameters supplied to the create or update - * network interface operation. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.virtualMachine] The reference of a virtual - * machine. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.virtualMachine.id] Resource ID. + * @returns {Promise} A promise is returned * - * @param {object} [parameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} [parameters.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets associated load balancer network interfaces. * - * @param {array} [parameters.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {string} [parameters.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.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.networkSecurityGroup.id] Resource ID. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.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.networkSecurityGroup.tags] Resource tags. + * {Promise} A promise is returned. * - * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of - * the network interface. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * - * @param {object} [parameters.dnsSettings] The DNS settings in network - * interface. + * @reject {Error|ServiceError} - The error object. * - * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP - * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS - * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it - * must be the only value in dnsServers collection. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that - * uses this NIC is part of an Availability Set, then this list will have the - * union of all DNS servers from all NICs that are part of the Availability - * Set. This property is what is configured on each of those VMs. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS - * name for this NIC used for internal communications between VMs in the same - * virtual network. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * - * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS - * name supporting internal communications between VMs in the same virtual - * network. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.dnsSettings.internalDomainNameSuffix] Even if - * internalDnsNameLabel is not specified, a DNS entry is created for the - * primary NIC of the VM. This DNS name can be constructed by concatenating the - * VM name with the value of internalDomainNameSuffix. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + list(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets associated load balancer network interfaces. * - * @param {string} [parameters.macAddress] The MAC address of the network - * interface. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {boolean} [parameters.primary] Gets whether this is a primary network - * interface on a virtual machine. + * @param {object} [options] Optional Parameters. * - * @param {boolean} [parameters.enableAcceleratedNetworking] If the network - * interface is accelerated networking enabled. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP - * forwarding is enabled on this network interface. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network interface resource. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets associated load balancer network interfaces. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} [parameters.id] Resource ID. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.location] Resource location. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.tags] Resource tags. + * @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 {NetworkInterfaceListResult} - 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. + * + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. + * + * {WebResource} [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 + * LoadBalancerProbes + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LoadBalancerProbes { + + + /** + * Gets all the load balancer probes. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} loadBalancerName The name of the load balancer. * * @param {object} [options] Optional Parameters. * @@ -12839,109 +13590,82 @@ export interface NetworkInterfaces { * * @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, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a network interface. + * Gets all the load balancer probes. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {object} parameters Parameters supplied to the create or update - * network interface operation. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.virtualMachine] The reference of a virtual - * machine. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.virtualMachine.id] Resource ID. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} [parameters.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. + * {Promise} A promise is returned. * - * @param {array} [parameters.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. + * @resolve {LoadBalancerProbeListResult} - The deserialized result object. * - * @param {string} [parameters.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [parameters.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [parameters.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.networkSecurityGroup.id] Resource ID. + * {LoadBalancerProbeListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerProbeListResult} for more + * information. * - * @param {string} [parameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. - * - * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of - * the network interface. - * - * @param {object} [parameters.dnsSettings] The DNS settings in network - * interface. - * - * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP - * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS - * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it - * must be the only value in dnsServers collection. - * - * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that - * uses this NIC is part of an Availability Set, then this list will have the - * union of all DNS servers from all NICs that are part of the Availability - * Set. This property is what is configured on each of those VMs. - * - * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS - * name for this NIC used for internal communications between VMs in the same - * virtual network. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS - * name supporting internal communications between VMs in the same virtual - * network. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + list(resourceGroupName: string, loadBalancerName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, loadBalancerName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, loadBalancerName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets load balancer probe. * - * @param {string} [parameters.dnsSettings.internalDomainNameSuffix] Even if - * internalDnsNameLabel is not specified, a DNS entry is created for the - * primary NIC of the VM. This DNS name can be constructed by concatenating the - * VM name with the value of internalDomainNameSuffix. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.macAddress] The MAC address of the network - * interface. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {boolean} [parameters.primary] Gets whether this is a primary network - * interface on a virtual machine. + * @param {string} probeName The name of the probe. * - * @param {boolean} [parameters.enableAcceleratedNetworking] If the network - * interface is accelerated networking enabled. + * @param {object} [options] Optional Parameters. * - * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP - * forwarding is enabled on this network interface. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network interface resource. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, loadBalancerName: string, probeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets load balancer probe. * - * @param {string} [parameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.location] Resource location. + * @param {string} loadBalancerName The name of the load balancer. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} probeName The name of the probe. * * @param {object} [options] Optional Parameters. * @@ -12955,7 +13679,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterface} - The deserialized result object. + * @resolve {Probe} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -12963,29 +13687,23 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterface} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterface} for more information. + * {Probe} [result] - The deserialized result object if an error did not occur. + * See {@link Probe} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, probeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, loadBalancerName: string, probeName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, loadBalancerName: string, probeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a network interface tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkInterfaceName The name of the network interface. - * - * @param {object} parameters Parameters supplied to update network interface - * tags. + * Gets all the load balancer probes. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -12994,23 +13712,17 @@ export interface NetworkInterfaces { * * @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, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network interface tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkInterfaceName The name of the network interface. - * - * @param {object} parameters Parameters supplied to update network interface - * tags. + * Gets all the load balancer probes. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -13024,7 +13736,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterface} - The deserialized result object. + * @resolve {LoadBalancerProbeListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13032,20 +13744,30 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterface} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterface} for more information. + * {LoadBalancerProbeListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LoadBalancerProbeListResult} for more + * information. * * {WebResource} [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, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * NetworkInterfaces + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface NetworkInterfaces { /** - * Gets all route tables applied to a network interface. + * Deletes the specified network interface. * * @param {string} resourceGroupName The name of the resource group. * @@ -13058,14 +13780,14 @@ export interface NetworkInterfaces { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetEffectiveRouteTableWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables applied to a network interface. + * Deletes the specified network interface. * * @param {string} resourceGroupName The name of the resource group. * @@ -13083,7 +13805,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {EffectiveRouteListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13091,21 +13813,19 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {EffectiveRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link EffectiveRouteListResult} 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. */ - beginGetEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; - beginGetEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network security groups applied to a network interface. + * Gets information about the specified network interface. * * @param {string} resourceGroupName The name of the resource group. * @@ -13113,19 +13833,21 @@ export interface NetworkInterfaces { * * @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. */ - beginListEffectiveNetworkSecurityGroupsWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups applied to a network interface. + * Gets information about the specified network interface. * * @param {string} resourceGroupName The name of the resource group. * @@ -13133,6 +13855,8 @@ export interface NetworkInterfaces { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -13143,7 +13867,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {EffectiveNetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {NetworkInterface} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13151,101 +13875,288 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {EffectiveNetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link EffectiveNetworkSecurityGroupListResult} for - * more information. + * {NetworkInterface} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterface} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginListEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginListEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; - beginListEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkInterfaceName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network interfaces in a subscription. + * Creates or updates a network interface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options] Optional Parameters. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * network interface operation. * - * @returns {Promise} A promise is returned + * @param {object} [parameters.virtualMachine] The reference of a virtual + * machine. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @reject {Error|ServiceError} - The error object. - */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network interfaces in a subscription. + * @param {array} [parameters.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} [parameters.networkSecurityGroup.defaultSecurityRules] The + * default security rules of network security group. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.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} [parameters.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} [parameters.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} [parameters.networkSecurityGroup.id] Resource ID. * - * {Promise} A promise is returned. + * @param {string} [parameters.networkSecurityGroup.location] Resource + * location. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * - * @reject {Error|ServiceError} - The error object. + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} for more - * information. + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all network interfaces in a resource group. + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.interfaceEndpoint.etag] Gets 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.interfaceEndpoint.id] Resource ID. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.interfaceEndpoint.location] Resource location. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * + * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of + * the network interface. + * + * @param {object} [parameters.dnsSettings] The DNS settings in network + * interface. + * + * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP + * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS + * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it + * must be the only value in dnsServers collection. + * + * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that + * uses this NIC is part of an Availability Set, then this list will have the + * union of all DNS servers from all NICs that are part of the Availability + * Set. This property is what is configured on each of those VMs. + * + * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS + * name for this NIC used for internal communications between VMs in the same + * virtual network. + * + * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS + * name supporting internal communications between VMs in the same virtual + * network. + * + * @param {string} [parameters.dnsSettings.internalDomainNameSuffix] Even if + * internalDnsNameLabel is not specified, a DNS entry is created for the + * primary NIC of the VM. This DNS name can be constructed by concatenating the + * VM name with the value of internalDomainNameSuffix. + * + * @param {string} [parameters.macAddress] The MAC address of the network + * interface. + * + * @param {boolean} [parameters.primary] Gets whether this is a primary network + * interface on a virtual machine. + * + * @param {boolean} [parameters.enableAcceleratedNetworking] If the network + * interface is accelerated networking enabled. + * + * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP + * forwarding is enabled on this network interface. + * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network interface resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network interfaces in a resource group. + * Creates or updates a network interface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {object} parameters Parameters supplied to the create or update + * network interface operation. + * + * @param {object} [parameters.virtualMachine] The reference of a virtual + * machine. + * + * @param {object} [parameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [parameters.networkSecurityGroup.securityRules] A collection + * of security rules of the network security group. + * + * @param {array} [parameters.networkSecurityGroup.defaultSecurityRules] The + * default security rules of network security group. + * + * @param {string} [parameters.networkSecurityGroup.resourceGuid] The resource + * GUID property of the network security group resource. + * + * @param {string} [parameters.networkSecurityGroup.provisioningState] The + * provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.networkSecurityGroup.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [parameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. + * + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. + * + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. + * + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. + * + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. + * + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. + * + * @param {string} [parameters.interfaceEndpoint.location] Resource location. + * + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * + * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of + * the network interface. + * + * @param {object} [parameters.dnsSettings] The DNS settings in network + * interface. + * + * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP + * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS + * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it + * must be the only value in dnsServers collection. + * + * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that + * uses this NIC is part of an Availability Set, then this list will have the + * union of all DNS servers from all NICs that are part of the Availability + * Set. This property is what is configured on each of those VMs. + * + * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS + * name for this NIC used for internal communications between VMs in the same + * virtual network. + * + * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS + * name supporting internal communications between VMs in the same virtual + * network. + * + * @param {string} [parameters.dnsSettings.internalDomainNameSuffix] Even if + * internalDnsNameLabel is not specified, a DNS entry is created for the + * primary NIC of the VM. This DNS name can be constructed by concatenating the + * VM name with the value of internalDomainNameSuffix. + * + * @param {string} [parameters.macAddress] The MAC address of the network + * interface. + * + * @param {boolean} [parameters.primary] Gets whether this is a primary network + * interface on a virtual machine. + * + * @param {boolean} [parameters.enableAcceleratedNetworking] If the network + * interface is accelerated networking enabled. + * + * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP + * forwarding is enabled on this network interface. + * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network interface resource. + * + * @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. * @@ -13259,7 +14170,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {NetworkInterface} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13267,25 +14178,29 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} for more - * information. + * {NetworkInterface} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterface} for more information. * * {WebResource} [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, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets information about all network interfaces in a virtual machine in a - * virtual machine scale set. + * Updates a network interface 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} networkInterfaceName The name of the network interface. + * + * @param {object} parameters Parameters supplied to update network interface + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -13294,18 +14209,23 @@ export interface NetworkInterfaces { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetVMNetworkInterfacesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all network interfaces in a virtual machine in a - * virtual machine scale set. + * Updates a network interface 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} networkInterfaceName The name of the network interface. + * + * @param {object} parameters Parameters supplied to update network interface + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -13319,7 +14239,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceListResult} - The deserialized result object. + * @resolve {NetworkInterface} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13327,24 +14247,20 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceListResult} for more - * information. + * {NetworkInterface} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterface} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetVMNetworkInterfacesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetVMNetworkInterfacesNext(nextPageLink: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetVMNetworkInterfacesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network interfaces in a virtual machine scale set. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all network interfaces in a subscription. * * @param {object} [options] Optional Parameters. * @@ -13357,13 +14273,10 @@ export interface NetworkInterfaces { * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetNetworkInterfacesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network interfaces in a virtual machine scale set. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all network interfaces in a subscription. * * @param {object} [options] Optional Parameters. * @@ -13393,17 +14306,15 @@ export interface NetworkInterfaces { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetNetworkInterfacesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetNetworkInterfacesNext(nextPageLink: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetNetworkInterfacesNext(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; /** - * Get the specified network interface ip configuration in a virtual machine - * scale set. + * Gets all network interfaces 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. * @@ -13412,18 +14323,16 @@ export interface NetworkInterfaces { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetIpConfigurationsNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified network interface ip configuration in a virtual machine - * scale set. + * Gets all network interfaces 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. * @@ -13437,7 +14346,7 @@ export interface NetworkInterfaces { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13445,30 +14354,21 @@ export interface NetworkInterfaces { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceIPConfigurationListResult} - * for more information. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listVirtualMachineScaleSetIpConfigurationsNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listVirtualMachineScaleSetIpConfigurationsNext(nextPageLink: string, callback: ServiceCallback): void; - listVirtualMachineScaleSetIpConfigurationsNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * NetworkInterfaceIPConfigurations - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface NetworkInterfaceIPConfigurations { + 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 all ip configurations in a network interface + * Gets all route tables applied to a network interface. * * @param {string} resourceGroupName The name of the resource group. * @@ -13481,14 +14381,14 @@ export interface NetworkInterfaceIPConfigurations { * * @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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getEffectiveRouteTableWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get all ip configurations in a network interface + * Gets all route tables applied to a network interface. * * @param {string} resourceGroupName The name of the resource group. * @@ -13506,7 +14406,7 @@ export interface NetworkInterfaceIPConfigurations { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. + * @resolve {EffectiveRouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13514,28 +14414,26 @@ export interface NetworkInterfaceIPConfigurations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceIPConfigurationListResult} - * for more information. + * {EffectiveRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link EffectiveRouteListResult} for more + * information. * * {WebResource} [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, 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; + getEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + getEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified network interface ip configuration. + * Gets all network security groups applied to a network interface. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkInterfaceName The name of the network interface. * - * @param {string} ipConfigurationName The name of the ip configuration name. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -13543,21 +14441,19 @@ export interface NetworkInterfaceIPConfigurations { * * @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, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listEffectiveNetworkSecurityGroupsWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified network interface ip configuration. + * Gets all network security groups applied to a network interface. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} networkInterfaceName The name of the network interface. * - * @param {string} ipConfigurationName The name of the ip configuration name. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -13570,7 +14466,7 @@ export interface NetworkInterfaceIPConfigurations { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceIPConfiguration} - The deserialized result object. + * @resolve {EffectiveNetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13578,24 +14474,29 @@ export interface NetworkInterfaceIPConfigurations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceIPConfiguration} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceIPConfiguration} for more - * information. + * {EffectiveNetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link EffectiveNetworkSecurityGroupListResult} for + * more information. * * {WebResource} [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, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkInterfaceName: string, ipConfigurationName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkInterfaceName: string, ipConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + listEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get all ip configurations in a network interface + * Gets information about all network interfaces in a virtual machine 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 {object} [options] Optional Parameters. * @@ -13604,17 +14505,22 @@ export interface NetworkInterfaceIPConfigurations { * * @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>; + listVirtualMachineScaleSetVMNetworkInterfacesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get all ip configurations in a network interface + * Gets information about all network interfaces in a virtual machine 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 {object} [options] Optional Parameters. * @@ -13628,7 +14534,7 @@ export interface NetworkInterfaceIPConfigurations { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13636,34 +14542,26 @@ export interface NetworkInterfaceIPConfigurations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceIPConfigurationListResult} - * for more information. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * * {WebResource} [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 - * NetworkInterfaceLoadBalancers - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface NetworkInterfaceLoadBalancers { + listVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetVMNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * List all load balancers in a network interface. + * Gets all network interfaces in a virtual machine scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * * @param {object} [options] Optional Parameters. * @@ -13672,18 +14570,19 @@ export interface NetworkInterfaceLoadBalancers { * * @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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetNetworkInterfacesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * List all load balancers in a network interface. + * Gets all network interfaces in a virtual machine scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * * @param {object} [options] Optional Parameters. * @@ -13697,7 +14596,7 @@ export interface NetworkInterfaceLoadBalancers { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceLoadBalancerListResult} - The deserialized result object. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13705,46 +14604,62 @@ export interface NetworkInterfaceLoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceLoadBalancerListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceLoadBalancerListResult} for - * more information. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * * {WebResource} [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, 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; + listVirtualMachineScaleSetNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetNetworkInterfaces(resourceGroupName: string, virtualMachineScaleSetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * List all load balancers in a network interface. + * Get the specified network interface 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 name of the network interface. * * @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. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getVirtualMachineScaleSetNetworkInterfaceWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * List all load balancers in a network interface. + * Get the specified network interface 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 name of the network interface. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -13755,7 +14670,7 @@ export interface NetworkInterfaceLoadBalancers { * * {Promise} A promise is returned. * - * @resolve {NetworkInterfaceLoadBalancerListResult} - The deserialized result object. + * @resolve {NetworkInterface} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13763,59 +14678,63 @@ export interface NetworkInterfaceLoadBalancers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkInterfaceLoadBalancerListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkInterfaceLoadBalancerListResult} for - * more information. + * {NetworkInterface} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterface} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * NetworkSecurityGroups - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface NetworkSecurityGroups { + getVirtualMachineScaleSetNetworkInterface(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + getVirtualMachineScaleSetNetworkInterface(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, callback: ServiceCallback): void; + getVirtualMachineScaleSetNetworkInterface(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network security group. + * Get the specified network interface ip configuration in a virtual machine + * scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. + * + * @param {string} virtualmachineIndex The virtual machine index. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {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, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetIpConfigurationsWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network security group. + * Get the specified network interface ip configuration in a virtual machine + * scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. + * + * @param {string} virtualmachineIndex The virtual machine index. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -13826,7 +14745,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13834,24 +14753,33 @@ export interface NetworkSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceIPConfigurationListResult} + * for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - + listVirtualMachineScaleSetIpConfigurations(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetIpConfigurations(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetIpConfigurations(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + /** - * Gets the specified network security group. + * Get the specified network interface ip configuration in a virtual machine + * scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. + * + * @param {string} virtualmachineIndex The virtual machine index. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} ipConfigurationName The name of the ip configuration. * * @param {object} [options] Optional Parameters. * @@ -13862,19 +14790,26 @@ 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. */ - getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getVirtualMachineScaleSetIpConfigurationWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified network security group. + * Get the specified network interface ip configuration in a virtual machine + * scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. + * + * @param {string} virtualmachineIndex The virtual machine index. + * + * @param {string} networkInterfaceName The name of the network interface. + * + * @param {string} ipConfigurationName The name of the ip configuration. * * @param {object} [options] Optional Parameters. * @@ -13890,7 +14825,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @resolve {NetworkInterfaceIPConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -13898,50 +14833,25 @@ export interface NetworkSecurityGroups { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * {NetworkInterfaceIPConfiguration} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceIPConfiguration} for more + * information. * * {WebResource} [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; + getVirtualMachineScaleSetIpConfiguration(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + getVirtualMachineScaleSetIpConfiguration(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, callback: ServiceCallback): void; + getVirtualMachineScaleSetIpConfiguration(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a network security group in the specified resource group. + * Deletes the specified network interface. * * @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 {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -13950,44 +14860,18 @@ export interface NetworkSecurityGroups { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a network security group in the specified resource group. + * Deletes the specified network interface. * * @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 {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -14001,7 +14885,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14009,145 +14893,145 @@ 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. + * {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, 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; + beginDeleteMethod(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a network security group tags. + * Creates or updates 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} parameters Parameters supplied to update network security - * group tags. + * @param {object} parameters Parameters supplied to the create or update + * network interface operation. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [parameters.virtualMachine] The reference of a virtual + * machine. * - * @param {object} [options] Optional Parameters. + * @param {object} [parameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} [parameters.networkSecurityGroup.securityRules] A collection + * of security rules of the network security group. * - * @returns {Promise} A promise is returned + * @param {array} [parameters.networkSecurityGroup.defaultSecurityRules] The + * default security rules of network security group. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.networkSecurityGroup.resourceGuid] The resource + * GUID property of the network security group resource. * - * @reject {Error|ServiceError} - The error object. - */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Updates a network security group tags. + * @param {string} [parameters.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} [parameters.networkSecurityGroup.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} [parameters.networkSecurityGroup.id] Resource ID. * - * @param {object} parameters Parameters supplied to update network security - * group tags. + * @param {string} [parameters.networkSecurityGroup.location] Resource + * location. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * - * @param {object} [options] Optional Parameters. + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into 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} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. * - * {Promise} A promise is returned. + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. * - * @reject {Error|ServiceError} - The error object. + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.interfaceEndpoint.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} [parameters.interfaceEndpoint.id] Resource ID. * - * {NetworkSecurityGroup} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroup} for more information. + * @param {string} [parameters.interfaceEndpoint.location] Resource location. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. * - * {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 {array} [parameters.ipConfigurations] A list of IPConfigurations of + * the network interface. * - * @param {object} [options] Optional Parameters. + * @param {object} [parameters.dnsSettings] The DNS settings in network + * interface. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP + * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS + * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it + * must be the only value in dnsServers collection. * - * @returns {Promise} A promise is returned + * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that + * uses this NIC is part of an Availability Set, then this list will have the + * union of all DNS servers from all NICs that are part of the Availability + * Set. This property is what is configured on each of those VMs. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS + * name for this NIC used for internal communications between VMs in the same + * virtual network. * - * @reject {Error|ServiceError} - The error object. - */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network security groups in a subscription. + * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS + * name supporting internal communications between VMs in the same virtual + * network. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.dnsSettings.internalDomainNameSuffix] Even if + * internalDnsNameLabel is not specified, a DNS entry is created for the + * primary NIC of the VM. This DNS name can be constructed by concatenating the + * VM name with the value of internalDomainNameSuffix. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.macAddress] The MAC address of the network + * interface. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {boolean} [parameters.primary] Gets whether this is a primary network + * interface on a virtual machine. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {boolean} [parameters.enableAcceleratedNetworking] If the network + * interface is accelerated networking enabled. * - * {Promise} A promise is returned. + * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP + * forwarding is enabled on this network interface. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface * - * @reject {Error|ServiceError} - The error object. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network interface resource. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * {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. + * @param {string} [parameters.id] Resource ID. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all network security groups in a resource group. + * @param {string} [parameters.location] Resource location. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -14156,175 +15040,127 @@ 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>; - - /** - * Gets all network security groups in a resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @param {ServiceCallback} [optionalCallback] - The optional callback. - * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. - * - * {Promise} A promise is returned. - * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. - * - * @reject {Error|ServiceError} - The error object. - * - * {ServiceCallback} optionalCallback(err, result, request, response) - * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. - * - * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkSecurityGroupListResult} for more - * information. - * - * {WebResource} [request] - The HTTP Request object if an error did not occur. - * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network security group. + * Creates or updates a network interface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkSecurityGroupName The name of the network security - * group. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @returns {Promise} A promise is returned - * - * @resolve {HttpOperationResponse} - The deserialized result object. - * - * @reject {Error|ServiceError} - The error object. - */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {object} parameters Parameters supplied to the create or update + * network interface operation. * - * @param {object} [options] Optional Parameters. + * @param {object} [parameters.virtualMachine] The reference of a virtual + * machine. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [parameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} [parameters.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} [parameters.networkSecurityGroup.defaultSecurityRules] The + * default security rules of network security group. * - * {Promise} A promise is returned. + * @param {string} [parameters.networkSecurityGroup.resourceGuid] The resource + * GUID property of the network security group resource. * - * @resolve {null} - The deserialized result object. + * @param {string} [parameters.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} [parameters.networkSecurityGroup.etag] A unique read-only + * string that changes whenever the resource is updated. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.networkSecurityGroup.id] Resource ID. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.networkSecurityGroup.location] Resource + * location. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Creates or updates a network security group in the specified resource group. + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. * - * @param {object} parameters Parameters supplied to the create or update - * network security group operation. + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. * - * @param {array} [parameters.securityRules] A collection of security rules of - * the network security group. + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. * - * @param {array} [parameters.defaultSecurityRules] The default security rules - * of network security group. + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network security group resource. + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} [parameters.interfaceEndpoint.location] Resource location. * - * @param {string} [parameters.id] Resource ID. + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. * - * @param {string} [parameters.location] Resource location. + * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of + * the network interface. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [parameters.dnsSettings] The DNS settings in network + * interface. * - * @param {object} [options] Optional Parameters. + * @param {array} [parameters.dnsSettings.dnsServers] List of DNS servers IP + * addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS + * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it + * must be the only value in dnsServers collection. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} [parameters.dnsSettings.appliedDnsServers] If the VM that + * uses this NIC is part of an Availability Set, then this list will have the + * union of all DNS servers from all NICs that are part of the Availability + * Set. This property is what is configured on each of those VMs. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.dnsSettings.internalDnsNameLabel] Relative DNS + * name for this NIC used for internal communications between VMs in the same + * virtual network. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.dnsSettings.internalFqdn] Fully qualified DNS + * name supporting internal communications between VMs in the same virtual + * network. * - * @reject {Error|ServiceError} - The error object. - */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a network security group in the specified resource group. + * @param {string} [parameters.dnsSettings.internalDomainNameSuffix] Even if + * internalDnsNameLabel is not specified, a DNS entry is created for the + * primary NIC of the VM. This DNS name can be constructed by concatenating the + * VM name with the value of internalDomainNameSuffix. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.macAddress] The MAC address of the network + * interface. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {boolean} [parameters.primary] Gets whether this is a primary network + * interface on a virtual machine. * - * @param {object} parameters Parameters supplied to the create or update - * network security group operation. + * @param {boolean} [parameters.enableAcceleratedNetworking] If the network + * interface is accelerated networking enabled. * - * @param {array} [parameters.securityRules] A collection of security rules of - * the network security group. + * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP + * forwarding is enabled on this network interface. * - * @param {array} [parameters.defaultSecurityRules] The default security rules - * of network security group. + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface * * @param {string} [parameters.resourceGuid] The resource GUID property of the - * network security group resource. + * network interface resource. * * @param {string} [parameters.provisioningState] The provisioning state of the * public IP resource. Possible values are: 'Updating', 'Deleting', and @@ -14351,7 +15187,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @resolve {NetworkInterface} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14359,28 +15195,27 @@ 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. + * {NetworkInterface} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterface} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, networkInterfaceName: string, parameters: models.NetworkInterface, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a network security group tags. + * Updates a network interface tags. * * @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 {object} parameters Parameters supplied to update network interface + * tags. * * @param {object} [parameters.tags] Resource tags. * @@ -14391,22 +15226,21 @@ 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>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network security group tags. + * Updates a network interface tags. * * @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 {object} parameters Parameters supplied to update network interface + * tags. * * @param {object} [parameters.tags] Resource tags. * @@ -14422,7 +15256,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroup} - The deserialized result object. + * @resolve {NetworkInterface} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14430,23 +15264,24 @@ 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. + * {NetworkInterface} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterface} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, networkInterfaceName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network security groups in a subscription. + * Gets all route tables applied to a network interface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -14455,17 +15290,18 @@ export interface NetworkSecurityGroups { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetEffectiveRouteTableWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups in a subscription. + * Gets all route tables applied to a network interface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -14479,7 +15315,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {EffectiveRouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14487,24 +15323,25 @@ 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 + * {EffectiveRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link EffectiveRouteListResult} for more * information. * * {WebResource} [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; + beginGetEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + beginGetEffectiveRouteTable(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all network security groups in a resource group. + * Gets all network security groups applied to a network interface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -14513,17 +15350,18 @@ export interface NetworkSecurityGroups { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginListEffectiveNetworkSecurityGroupsWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network security groups in a resource group. + * Gets all network security groups applied to a network interface. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -14537,7 +15375,7 @@ export interface NetworkSecurityGroups { * * {Promise} A promise is returned. * - * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * @resolve {EffectiveNetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14545,37 +15383,24 @@ 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. + * {EffectiveNetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link EffectiveNetworkSecurityGroupListResult} for + * more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * SecurityRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface SecurityRules { + beginListEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginListEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + beginListEffectiveNetworkSecurityGroups(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network security rule. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * Gets all network interfaces in a subscription. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -14584,21 +15409,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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network security rule. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * Gets all network interfaces in a subscription. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -14612,7 +15433,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14620,26 +15441,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. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 the specified network security rule. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * Gets all network interfaces in a resource group. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -14648,21 +15467,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. */ - getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified network security rule. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * Gets all network interfaces in a resource group. * - * @param {string} securityRuleName The name of the security rule. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -14676,7 +15491,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14684,101 +15499,84 @@ 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. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * * {WebResource} [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; + 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; /** - * Creates or updates a security rule in the specified network security group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkSecurityGroupName The name of the network security - * group. - * - * @param {string} securityRuleName The name of the security rule. + * Gets information about all network interfaces in a virtual machine in a + * virtual machine scale set. * - * @param {object} securityRuleParameters Parameters supplied to the create or - * update network security rule operation. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} [securityRuleParameters.description] A description for this - * rule. Restricted to 140 chars. + * @param {object} [options] Optional Parameters. * - * @param {string} securityRuleParameters.protocol Network protocol this rule - * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values - * include: 'Tcp', 'Udp', '*' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [securityRuleParameters.sourcePortRange] The source port or - * range. Integer or range between 0 and 65535. Asterix '*' can also be used to - * match all ports. + * @returns {Promise} A promise is returned * - * @param {string} [securityRuleParameters.destinationPortRange] The - * destination port or range. Integer or range between 0 and 65535. Asterix '*' - * can also be used to match all ports. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [securityRuleParameters.sourceAddressPrefix] The CIDR or - * source IP range. Asterix '*' can also be used to match all source IPs. - * Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' - * can also be used. If this is an ingress rule, specifies where network - * traffic originates from. + * @reject {Error|ServiceError} - The error object. + */ + listVirtualMachineScaleSetVMNetworkInterfacesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets information about all network interfaces in a virtual machine in a + * virtual machine scale set. * - * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or - * source IP ranges. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The - * application security group specified as source. + * @param {object} [options] Optional Parameters. * - * @param {string} [securityRuleParameters.destinationAddressPrefix] The - * destination address prefix. CIDR or destination IP range. Asterix '*' can - * also be used to match all source IPs. Default tags such as 'VirtualNetwork', - * 'AzureLoadBalancer' and 'Internet' can also be used. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [securityRuleParameters.destinationAddressPrefixes] The - * destination address prefixes. CIDR or destination IP ranges. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] - * The application security group specified as destination. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} [securityRuleParameters.sourcePortRanges] The source port - * ranges. + * {Promise} A promise is returned. * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @reject {Error|ServiceError} - The error object. * - * @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. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @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' + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [securityRuleParameters.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * - * @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. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [securityRuleParameters.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. + */ + listVirtualMachineScaleSetVMNetworkInterfacesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetVMNetworkInterfacesNext(nextPageLink: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetVMNetworkInterfacesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all network interfaces in a virtual machine scale set. * - * @param {string} [securityRuleParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -14787,95 +15585,77 @@ 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>; + listVirtualMachineScaleSetNetworkInterfacesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a security rule in the specified network security group. + * Gets all network interfaces in a virtual machine scale set. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {object} [options] Optional Parameters. * - * @param {string} securityRuleName The name of the security rule. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} securityRuleParameters Parameters supplied to the create or - * update network security rule operation. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @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. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @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. + * {Promise} A promise is returned. * - * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or - * source IP ranges. + * @resolve {NetworkInterfaceListResult} - The deserialized result object. * - * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The - * application security group specified as source. + * @reject {Error|ServiceError} - The error object. * - * @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. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [securityRuleParameters.destinationAddressPrefixes] The - * destination address prefixes. CIDR or destination IP ranges. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] - * The application security group specified as destination. + * {NetworkInterfaceListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceListResult} for more + * information. * - * @param {array} [securityRuleParameters.sourcePortRanges] The source port - * ranges. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listVirtualMachineScaleSetNetworkInterfacesNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetNetworkInterfacesNext(nextPageLink: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetNetworkInterfacesNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Get the specified network interface ip configuration in a virtual machine + * scale set. * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @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] Optional Parameters. * - * @param {string} securityRuleParameters.direction The direction of the rule. - * The direction specifies if rule will be evaluated on incoming or outcoming - * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values - * include: 'Inbound', 'Outbound' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [securityRuleParameters.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @returns {Promise} A promise is returned * - * @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. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [securityRuleParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @reject {Error|ServiceError} - The error object. + */ + listVirtualMachineScaleSetIpConfigurationsNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get the specified network interface ip configuration in a virtual machine + * scale set. * - * @param {string} [securityRuleParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -14889,7 +15669,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14897,25 +15677,34 @@ 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. + * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceIPConfigurationListResult} + * for more information. * * {WebResource} [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; + listVirtualMachineScaleSetIpConfigurationsNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listVirtualMachineScaleSetIpConfigurationsNext(nextPageLink: string, callback: ServiceCallback): void; + listVirtualMachineScaleSetIpConfigurationsNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * NetworkInterfaceIPConfigurations + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface NetworkInterfaceIPConfigurations { /** - * Gets all security rules in a network security group. + * Get all ip configurations in 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. * @@ -14924,19 +15713,18 @@ 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>; + listWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all security rules in a network security group. + * Get all ip configurations in 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. * @@ -14950,7 +15738,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -14958,28 +15746,27 @@ 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. + * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceIPConfigurationListResult} + * for more information. * * {WebResource} [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; + 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 rule. + * Gets the specified network interface ip configuration. * * @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} securityRuleName The name of the security rule. + * @param {string} ipConfigurationName The name of the ip configuration name. * * @param {object} [options] Optional Parameters. * @@ -14988,21 +15775,20 @@ 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>; + getWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network security rule. + * Gets the specified network interface ip configuration. * * @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} securityRuleName The name of the security rule. + * @param {string} ipConfigurationName The name of the ip configuration name. * * @param {object} [options] Optional Parameters. * @@ -15016,7 +15802,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NetworkInterfaceIPConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15024,100 +15810,92 @@ 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. + * {NetworkInterfaceIPConfiguration} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceIPConfiguration} for more + * information. * * {WebResource} [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; + get(resourceGroupName: string, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, networkInterfaceName: string, ipConfigurationName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, networkInterfaceName: string, ipConfigurationName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a security rule in the specified network security group. - * - * @param {string} resourceGroupName The name of the resource group. + * Get all ip configurations in a network interface * - * @param {string} networkSecurityGroupName The name of the network security - * group. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} securityRuleName The name of the security rule. + * @param {object} [options] Optional Parameters. * - * @param {object} securityRuleParameters Parameters supplied to the create or - * update network security rule operation. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [securityRuleParameters.description] A description for this - * rule. Restricted to 140 chars. + * @returns {Promise} A promise is returned * - * @param {string} securityRuleParameters.protocol Network protocol this rule - * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values - * include: 'Tcp', 'Udp', '*' + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @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. + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get all ip configurations in a network interface * - * @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} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @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 {object} [options] Optional Parameters. * - * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or - * source IP ranges. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The - * application security group specified as source. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @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. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} [securityRuleParameters.destinationAddressPrefixes] The - * destination address prefixes. CIDR or destination IP ranges. + * {Promise} A promise is returned. * - * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] - * The application security group specified as destination. + * @resolve {NetworkInterfaceIPConfigurationListResult} - The deserialized result object. * - * @param {array} [securityRuleParameters.sourcePortRanges] The source port - * ranges. + * @reject {Error|ServiceError} - The error object. * - * @param {array} [securityRuleParameters.destinationPortRanges] The - * destination port ranges. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} securityRuleParameters.access The network traffic is allowed - * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @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. + * {NetworkInterfaceIPConfigurationListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceIPConfigurationListResult} + * for more information. * - * @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' + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @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. + * {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 + * NetworkInterfaceLoadBalancers + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface NetworkInterfaceLoadBalancers { + + + /** + * List all load balancers in a network interface. * - * @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 {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -15126,95 +15904,18 @@ 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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a security rule in the specified network security group. + * List all load balancers in a network interface. * * @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 {string} networkInterfaceName The name of the network interface. * * @param {object} [options] Optional Parameters. * @@ -15228,7 +15929,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkInterfaceLoadBalancerListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15236,20 +15937,21 @@ 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. + * {NetworkInterfaceLoadBalancerListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceLoadBalancerListResult} for + * more information. * * {WebResource} [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, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all security rules in a network security group. + * List all load balancers in a network interface. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -15261,14 +15963,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. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all security rules in a network security group. + * List all load balancers in a network interface. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -15285,7 +15987,7 @@ export interface SecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {NetworkInterfaceLoadBalancerListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15293,35 +15995,36 @@ 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. + * {NetworkInterfaceLoadBalancerListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceLoadBalancerListResult} for + * more information. * * {WebResource} [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 - * DefaultSecurityRules + * NetworkInterfaceTapConfigurations * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface DefaultSecurityRules { +export interface NetworkInterfaceTapConfigurations { /** - * Gets all default security rules in a 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. * @@ -15330,19 +16033,20 @@ 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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all default security rules in a 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. * @@ -15356,7 +16060,7 @@ export interface DefaultSecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15364,29 +16068,25 @@ export interface DefaultSecurityRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRuleListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + 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; /** - * Get the specified default network security rule. + * 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 {string} defaultSecurityRuleName The name of the default security - * rule. + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -15395,22 +16095,20 @@ 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>; + getWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified default network security rule. + * 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 {string} defaultSecurityRuleName The name of the default security - * rule. + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -15424,7 +16122,7 @@ export interface DefaultSecurityRules { * * {Promise} A promise is returned. * - * @resolve {SecurityRule} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15432,296 +16130,394 @@ 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. + * {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, 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(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; /** - * Gets all default security rules in a network security group. + * Creates or updates a Tap configuration in the specified NetworkInterface. * - * @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} networkInterfaceName The name of the network interface. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} tapConfigurationName The name of the tap configuration. * - * @returns {Promise} A promise is returned + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @reject {Error|ServiceError} - The error object. - */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all default security rules in a network security group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * @param {object} [options] Optional Parameters. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @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.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * {Promise} A promise is returned. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @resolve {SecurityRuleListResult} - The deserialized result object. + * @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' * - * @reject {Error|ServiceError} - The error object. + * @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' * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. * - * {SecurityRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityRuleListResult} for more - * information. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] + * Public IP address bound to the IP configuration. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * NetworkWatchers - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface NetworkWatchers { - - - /** - * Creates or updates a network watcher in the specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {object} parameters Parameters that define the network watcher - * resource. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [options] Optional Parameters. + * @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 {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @reject {Error|ServiceError} - The error object. - */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates or updates a network watcher in the specified resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {string} networkWatcherName The name of the network watcher. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. * - * @param {object} parameters Parameters that define the network watcher - * resource. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * @param {string} [parameters.id] Resource ID. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @param {string} [parameters.location] Resource location. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * @param {object} [parameters.tags] Resource tags. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.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} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.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} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.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} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * {Promise} A promise is returned. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * @resolve {NetworkWatcher} - The deserialized result object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * @reject {Error|ServiceError} - The error object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @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. * - * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcher} for more information. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets 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. - */ - createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets the specified network watcher by resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @returns {Promise} A promise is returned + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. * - * @reject {Error|ServiceError} - The error object. - */ - getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets the specified network watcher by resource group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * {Promise} A promise is returned. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @resolve {NetworkWatcher} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [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. * - * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcher} for more information. + * @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. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @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. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - get(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Deletes the specified network watcher resource. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @param {object} [options] Optional Parameters. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. - */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified network watcher resource. + * @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} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.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 {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {Promise} A promise is returned. + * @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. * - * @resolve {null} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - deleteMethod(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Updates a network watcher tags. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. * - * @param {string} networkWatcherName The name of the network watcher. + * @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 {object} parameters Parameters supplied to update network watcher - * tags. + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [tapConfigurationParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -15730,78 +16526,387 @@ 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, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a network watcher tags. + * Creates or updates a Tap configuration in the specified NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} parameters Parameters supplied to update network watcher - * 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 {NetworkWatcher} - 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' * - * {NetworkWatcher} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkWatcher} 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, 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 {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 {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. - */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all network watchers by resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap + * + * @param {string} + * [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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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. * @@ -15815,7 +16920,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcherListResult} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15823,21 +16928,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 + * {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. */ - 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, 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 watchers by subscription. + * 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. * @@ -15846,14 +16955,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. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all network watchers by subscription. + * 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. * @@ -15867,7 +16980,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkWatcherListResult} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfigurationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -15875,39 +16988,27 @@ 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. + * {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. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, networkInterfaceName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkInterfaceName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkInterfaceName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the current network topology by resource group. + * Deletes the specified tap configuration from the NetworkInterface. * * @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} networkInterfaceName The name of the network interface. * - * @param {string} [parameters.targetSubnet.id] Resource ID. + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -15916,32 +17017,20 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getTopologyWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the current network topology by resource group. + * Deletes the specified tap configuration from the NetworkInterface. * * @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} networkInterfaceName The name of the network interface. * - * @param {string} [parameters.targetSubnet.id] Resource ID. + * @param {string} tapConfigurationName The name of the tap configuration. * * @param {object} [options] Optional Parameters. * @@ -15955,7 +17044,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. * @@ -15963,561 +17052,781 @@ 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, 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; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. + * Creates or updates a Tap configuration in the specified NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} parameters Parameters that define the IP flow to be - * verified. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' + * @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.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 {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * @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 {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of them, then this - * parameter must be specified. Otherwise optional). + * @param {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. - */ - verifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. + * @param {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} networkWatcherName The name of the network watcher. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] + * Application security groups in which the IP configuration is included. * - * @param {object} parameters Parameters that define the IP flow to be - * verified. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] + * The provisioning state of the network interface IP configuration. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. + * @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} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @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 {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @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} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @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.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of them, then this - * parameter must be specified. Otherwise optional). + * @param {string} + * [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 {VerificationIPFlowResult} - 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. * - * {VerificationIPFlowResult} [result] - The deserialized result object if an error did not occur. - * See {@link VerificationIPFlowResult} 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. - */ - verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, callback: ServiceCallback): void; - verifyIPFlow(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets the next hop from the specified VM. + * @param {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} networkWatcherName The name of the network watcher. + * @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 that define the source and destination - * endpoint. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * @param {string} parameters.targetResourceId The resource identifier of the - * target resource against which the action is to be performed. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * @param {string} parameters.sourceIPAddress The source IP address. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.tags] + * Resource tags. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of the nics, then this - * parameter must be specified. Otherwise optional). + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints * - * @returns {Promise} A promise is returned + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. * - * @reject {Error|ServiceError} - The error object. - */ - getNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets the next hop from the specified VM. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} parameters Parameters that define the source and destination - * endpoint. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {string} parameters.targetResourceId The resource identifier of the - * target resource against which the action is to be performed. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {string} parameters.sourceIPAddress The source IP address. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @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} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {object} [options] Optional Parameters. + * @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} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @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. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.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. * - * {Promise} A promise is returned. + * @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. * - * @resolve {NextHopResult} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * {NextHopResult} [result] - The deserialized result object if an error did not occur. - * See {@link NextHopResult} for more information. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * {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; - - - /** - * Gets the configured and effective security group rules on the specified VM. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @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} networkWatcherName The name of the network watcher. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. * - * @reject {Error|ServiceError} - The error object. - */ - getVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets the configured and effective security group rules on the specified VM. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. * - * @param {object} [options] Optional Parameters. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. * - * {Promise} A promise is returned. + * @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. * - * @resolve {SecurityGroupViewResult} - The deserialized result object. + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [tapConfigurationParameters.id] Resource ID. * - * {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 * - * {SecurityGroupViewResult} [result] - The deserialized result object if an error did not occur. - * See {@link SecurityGroupViewResult} 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. */ - 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; - + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkInterfaceName: string, tapConfigurationName: string, tapConfigurationParameters: models.NetworkInterfaceTapConfiguration, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Initiate troubleshooting on a specified resource + * Creates or updates a Tap configuration in the specified NetworkInterface. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {object} parameters Parameters that define the resource to - * troubleshoot. + * @param {string} tapConfigurationName The name of the tap configuration. * - * @param {string} parameters.targetResourceId The target resource to - * troubleshoot. + * @param {object} tapConfigurationParameters Parameters supplied to the create + * or update tap configuration operation. * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * @param {object} [tapConfigurationParameters.virtualNetworkTap] The reference + * of the Virtual Network Tap resource. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.networkInterfaceTapConfigurations] + * Specifies the list of resource IDs for the network interface IP + * configuration that needs to be tapped. * - * @param {object} [options] Optional Parameters. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] + * The reference to the private IP Address of the collector nic that will + * receive the tap * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] + * The reference to Virtual Network Taps. * - * @returns {Promise} A promise is returned + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] + * The reference of ApplicationGatewayBackendAddressPool resource. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] + * The reference of LoadBalancerBackendAddressPool resource. * - * @reject {Error|ServiceError} - The error object. - */ - getTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Initiate troubleshooting on a specified resource + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] + * A list of references of LoadBalancerInboundNatRules. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] + * Private IP address of the IP configuration. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @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 {object} parameters Parameters that define the resource to - * troubleshoot. + * @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 {string} parameters.targetResourceId The target resource to - * troubleshoot. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] + * Subnet bound to the IP configuration. * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * @param {boolean} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] + * Gets whether this is a primary customer address on the network interface. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @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'. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @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. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * {Promise} A promise is returned. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.id] + * Resource ID. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] + * The reference to the private IP address on the internal Load Balancer that + * will receive the tap * - * @reject {Error|ServiceError} - The error object. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] + * The private IP address of the IP configuration. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] + * The Private IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] + * The reference of the subnet resource. * - * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. - * See {@link TroubleshootingResult} for more information. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] + * The address prefix for the subnet. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] + * List of address prefixes for the subnet. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, callback: ServiceCallback): void; - getTroubleshooting(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Get the last completed troubleshooting result on a specified resource + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] + * The reference of the NetworkSecurityGroup resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] + * A collection of security rules of the network security group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @param {object} parameters Parameters that define the resource to query the - * troubleshooting result. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] + * The resource GUID property of the network security group resource. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.id] + * Resource ID. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.location] + * Resource location. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. * - * @reject {Error|ServiceError} - The error object. - */ - getTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Get the last completed troubleshooting result on a specified resource + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] + * Collection of routes contained within a route table. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @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 {object} parameters Parameters that define the resource to query the - * troubleshooting result. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] + * The provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] + * Gets a unique read-only string that changes whenever the resource is + * updated. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.id] + * Resource ID. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.location] + * Resource location. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.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 {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] + * An array of service endpoints. * - * {Promise} A promise is returned. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.interfaceEndpoints] + * An array of references to interface endpoints * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. * - * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. - * See {@link TroubleshootingResult} for more information. + * @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. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.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. - */ - 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; - - - /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. * - * @param {object} parameters Parameters that define the configuration of flow - * log. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' * - * @param {string} parameters.storageId ID of the storage account which is used - * to store the flow log. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @param {object} [parameters.retentionPolicy] + * @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 {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. + * @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 {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * @param {object} [parameters.flowAnalyticsConfiguration] + * @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} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {object} [options] Optional Parameters. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * @returns {Promise} A promise is returned + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * @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>; - - /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @param {object} parameters Parameters that define the configuration of flow - * log. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . + * @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} parameters.storageId ID of the storage account which is used - * to store the flow log. + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * @param {object} [parameters.retentionPolicy] + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. * - * @param {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. * - * @param {object} [parameters.flowAnalyticsConfiguration] + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @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} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {string} [tapConfigurationParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -16531,7 +17840,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16539,32 +17848,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. + * {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. */ - 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; + 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; /** - * 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. - * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * Get all Tap configurations in a network interface * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -16573,26 +17874,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. */ - getFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: 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. - * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * Get all Tap configurations in a network interface * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -16606,7 +17898,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {NetworkInterfaceTapConfigurationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16614,131 +17906,123 @@ 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. + * {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. */ - 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; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * NetworkSecurityGroups + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface NetworkSecurityGroups { /** - * 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. + * Deletes the specified network security group. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters that determine how the connectivity - * check will be performed. + * @param {object} [options] Optional Parameters. * - * @param {object} parameters.source + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} parameters.source.resourceId The ID of the resource from - * which a connectivity check will be initiated. + * @returns {Promise} A promise is returned * - * @param {number} [parameters.source.port] The source port from which a - * connectivity check will be performed. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} parameters.destination + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified network security group. * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * to which a connection attempt will be made. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.destination.address] The IP address or URI the - * resource to which a connection attempt will be made. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {number} [parameters.destination.port] Port on which check - * connectivity will be performed. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.protocol] Network protocol. Possible values - * include: 'Tcp', 'Http', 'Https', 'Icmp' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.protocolConfiguration] + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] - * HTTP method. Possible values include: 'Get' + * {Promise} A promise is returned. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @resolve {null} - The deserialized result object. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [options] Optional Parameters. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @returns {Promise} A promise is returned + * {null} [result] - The deserialized result object if an error did not occur. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @reject {Error|ServiceError} - The error object. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - checkConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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; + /** - * 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. + * Gets the specified network security group. * - * @param {object} parameters.destination + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * to which a connection attempt will be made. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} [parameters.destination.address] The IP address or URI the - * resource to which a connection attempt will be made. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.destination.port] Port on which check - * connectivity will be performed. + * @param {string} [options.expand] Expands referenced resources. * - * @param {string} [parameters.protocol] Network protocol. Possible values - * include: 'Tcp', 'Http', 'Https', 'Icmp' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.protocolConfiguration] + * @returns {Promise} A promise is returned * - * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] - * HTTP method. Possible values include: 'Get' + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified network security group. * - * @param {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} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -16749,7 +18033,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {ConnectivityInformation} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16757,50 +18041,50 @@ 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. + * {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. */ - 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; + 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; /** - * Gets the relative latency score for internet service providers from a - * specified location to Azure regions. + * Creates or updates a network security group in the specified resource group. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters that determine Azure reachability - * report configuration. + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. * - * @param {object} parameters.providerLocation + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. * - * @param {string} parameters.providerLocation.country The name of the country. + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. * - * @param {string} [parameters.providerLocation.state] The name of the state. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. * - * @param {string} [parameters.providerLocation.city] The name of the city or - * town. + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {array} [parameters.providers] List of Internet service providers. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @param {string} [parameters.id] Resource ID. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {string} [parameters.location] Resource location. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16809,43 +18093,44 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the relative latency score for internet service providers from a - * specified location to Azure regions. + * Creates or updates a network security group in the specified resource group. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters that determine Azure reachability - * report configuration. + * @param {object} parameters Parameters supplied to the create or update + * network security group operation. * - * @param {object} parameters.providerLocation + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. * - * @param {string} parameters.providerLocation.country The name of the country. + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. * - * @param {string} [parameters.providerLocation.state] The name of the state. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. * - * @param {string} [parameters.providerLocation.city] The name of the city or - * town. + * @param {string} [parameters.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {array} [parameters.providers] List of Internet service providers. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * @param {string} [parameters.id] Resource ID. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {string} [parameters.location] Resource location. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16859,7 +18144,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AzureReachabilityReport} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16867,39 +18152,30 @@ 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. + * {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. */ - 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; + 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; /** - * 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. + * Updates a network security group tags. * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} [parameters.state] The state for available providers list. + * @param {object} parameters Parameters supplied to update network security + * group tags. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16908,32 +18184,24 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, 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. + * Updates a network security group tags. * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} [parameters.state] The state for available providers list. + * @param {object} parameters Parameters supplied to update network security + * group tags. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -16947,7 +18215,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AvailableProvidersList} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -16955,63 +18223,92 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AvailableProvidersList} [result] - The deserialized result object if an error did not occur. - * See {@link AvailableProvidersList} for more - * information. + * {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. */ - 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; + 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; /** - * Get network configuration diagnostic. + * Gets all network security groups in a subscription. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [options] Optional Parameters. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} parameters Parameters to get network configuration - * diagnostic. + * @returns {Promise} A promise is returned * - * @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. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} parameters.queries List of traffic queries. + * @reject {Error|ServiceError} - The error object. + */ + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network security groups in a subscription. * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * - * @returns {Promise} A promise is returned + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @reject {Error|ServiceError} - The error object. + * {Promise} A promise is returned. + * + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {NetworkSecurityGroupListResult} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkSecurityGroupListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** - * Get network configuration diagnostic. + * Gets all network security groups in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher. + * @param {object} [options] Optional Parameters. * - * @param {object} parameters Parameters to get network configuration - * diagnostic. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @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. + * @returns {Promise} A promise is returned * - * @param {array} parameters.queries List of traffic queries. + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all network security groups in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -17025,7 +18322,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17033,25 +18330,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {NetworkConfigurationDiagnosticResponse} [result] - The deserialized result object if an error did not occur. - * See {@link NetworkConfigurationDiagnosticResponse} for - * more information. + * {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. */ - 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; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified network watcher resource. + * Deletes 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} [options] Optional Parameters. * @@ -17064,14 +18362,15 @@ export interface NetworkWatchers { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified network watcher resource. + * Deletes 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} [options] Optional Parameters. * @@ -17099,48 +18398,43 @@ export interface NetworkWatchers { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Verify IP flow from the specified VM to a location given the currently - * configured NSG rules. + * Creates or updates a network security group in the specified resource 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 {object} parameters Parameters supplied to the create or update + * network security group operation. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. * - * @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.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @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.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} [parameters.id] Resource ID. * - * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} [parameters.location] Resource location. * - * @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} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -17149,49 +18443,44 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginVerifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.NetworkSecurityGroup, 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 network security group in the specified resource 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 {object} parameters Parameters supplied to the create or update + * network security group operation. * - * @param {string} parameters.targetResourceId The ID of the target resource to - * perform next-hop on. + * @param {array} [parameters.securityRules] A collection of security rules of + * the network security group. * - * @param {string} parameters.direction The direction of the packet represented - * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * @param {array} [parameters.defaultSecurityRules] The default security rules + * of network security group. * - * @param {string} parameters.protocol Protocol to be verified on. Possible - * values include: 'TCP', 'UDP' + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * network security group resource. * - * @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.provisioningState] The provisioning state of the + * public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @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.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {string} parameters.localIPAddress The local IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} [parameters.id] Resource ID. * - * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable - * values are valid IPv4 addresses. + * @param {string} [parameters.location] Resource location. * - * @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} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -17205,7 +18494,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {VerificationIPFlowResult} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17213,39 +18502,30 @@ 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. + * {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. */ - 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; + 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; /** - * Gets the next hop from the specified VM. + * Updates a network security group tags. * * @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} networkSecurityGroupName The name of the network security + * group. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {object} parameters Parameters supplied to update network security + * group tags. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of the nics, then this - * parameter must be specified. Otherwise optional). + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -17254,32 +18534,24 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the next hop from the specified VM. + * Updates a network security group tags. * * @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} networkSecurityGroupName The name of the network security + * group. * - * @param {string} parameters.destinationIPAddress The destination IP address. + * @param {object} parameters Parameters supplied to update network security + * group tags. * - * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has - * multiple NICs and IP forwarding is enabled on any of the nics, then this - * parameter must be specified. Otherwise optional). + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -17293,7 +18565,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NextHopResult} - The deserialized result object. + * @resolve {NetworkSecurityGroup} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17301,29 +18573,23 @@ 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. + * {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. */ - 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; + 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 the configured and effective security group rules on the specified VM. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * Gets all network security groups in a subscription. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -17332,23 +18598,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. */ - beginGetVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the configured and effective security group rules on the specified VM. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {object} parameters Parameters that define the VM to check security - * groups for. + * Gets all network security groups in a subscription. * - * @param {string} parameters.targetResourceId ID of the target VM. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -17362,7 +18622,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {SecurityGroupViewResult} - The deserialized result object. + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17370,37 +18630,24 @@ 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 + * {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. */ - 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; + 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; /** - * Initiate troubleshooting on a specified resource - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the resource to - * troubleshoot. - * - * @param {string} parameters.targetResourceId The target resource to - * troubleshoot. - * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * Gets all network security groups in a resource group. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -17409,30 +18656,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. */ - beginGetTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Initiate troubleshooting on a specified resource - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the resource to - * troubleshoot. - * - * @param {string} parameters.targetResourceId The target resource to - * troubleshoot. - * - * @param {string} parameters.storageId The ID for the storage account to save - * the troubleshoot result. + * Gets all network security groups in a resource group. * - * @param {string} parameters.storagePath The path to the blob to save the - * troubleshoot result in. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -17446,7 +18680,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {NetworkSecurityGroupListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17454,30 +18688,37 @@ 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. + * {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. */ - 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; - - + 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 { + + /** - * Get the last completed troubleshooting result on a specified resource + * Deletes the specified 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 query the - * troubleshooting result. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -17486,24 +18727,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the last completed troubleshooting result on a specified resource + * Deletes the specified 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 query the - * troubleshooting result. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} parameters.targetResourceId The target resource ID to query - * the troubleshooting result. + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -17517,7 +18755,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {TroubleshootingResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17525,66 +18763,26 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. - * See {@link TroubleshootingResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, callback: ServiceCallback): void; - beginGetTroubleshootingResult(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the configuration of flow - * log. - * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . - * - * @param {string} parameters.storageId ID of the storage account which is used - * to store the flow log. - * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. - * - * @param {object} [parameters.retentionPolicy] - * - * @param {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. - * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. - * - * @param {object} [parameters.flowAnalyticsConfiguration] - * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration - * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * Get the specified network security rule. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -17593,60 +18791,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginSetFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Configures flow log and traffic analytics (optional) on a specified - * resource. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that define the configuration of flow - * log. - * - * @param {string} parameters.targetResourceId The ID of the resource to - * configure for flow log and traffic analytics (optional) . - * - * @param {string} parameters.storageId ID of the storage account which is used - * to store the flow log. - * - * @param {boolean} parameters.enabled Flag to enable/disable flow logging. - * - * @param {object} [parameters.retentionPolicy] - * - * @param {number} [parameters.retentionPolicy.days] Number of days to retain - * flow log records. - * - * @param {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable - * retention. - * - * @param {object} [parameters.flowAnalyticsConfiguration] - * - * @param {object} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration - * - * @param {boolean} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled - * Flag to enable/disable traffic analytics. + * Get the specified network security rule. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId - * The resource guid of the attached workspace + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion - * The location of the attached workspace + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} - * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId - * Resource Id of the attached workspace + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -17660,7 +18819,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17668,141 +18827,101 @@ 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. + * {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. */ - 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; + 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; /** - * Queries status of flow log and traffic analytics (optional) on a specified - * resource. + * Creates or updates a security rule in the specified network security group. * - * @param {string} resourceGroupName The name of the network watcher resource - * group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} securityRuleName The name of the security rule. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @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', '*' * - * @returns {Promise} A promise is returned + * @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. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @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. * - * @reject {Error|ServiceError} - The error object. - */ - beginGetFlowLogStatusWithHttpOperationResponse(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 - * resource. + * @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} resourceGroupName The name of the network watcher resource - * group. + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The + * application security group specified as source. * - * @param {object} parameters Parameters that define a resource to query flow - * log and traffic analytics (optional) status. + * @param {string} [securityRuleParameters.destinationAddressPrefix] The + * destination address prefix. CIDR or destination IP range. Asterix '*' can + * also be used to match all source IPs. Default tags such as 'VirtualNetwork', + * 'AzureLoadBalancer' and 'Internet' can also be used. * - * @param {string} parameters.targetResourceId The target resource where - * getting the flow log and traffic analytics (optional) status. + * @param {array} [securityRuleParameters.destinationAddressPrefixes] The + * destination address prefixes. CIDR or destination IP ranges. * - * @param {object} [options] Optional Parameters. + * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] + * The application security group specified as destination. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} [securityRuleParameters.sourcePortRanges] The source port + * ranges. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} [securityRuleParameters.destinationPortRanges] The + * destination port ranges. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} securityRuleParameters.access The network traffic is allowed + * or denied. Possible values are: 'Allow' and 'Deny'. Possible values include: + * 'Allow', 'Deny' * - * {Promise} A promise is returned. + * @param {number} [securityRuleParameters.priority] The priority of the rule. + * The value can be between 100 and 4096. The priority number must be unique + * for each rule in the collection. The lower the priority number, the higher + * the priority of the rule. * - * @resolve {FlowLogInformation} - The deserialized result object. + * @param {string} securityRuleParameters.direction The direction of the rule. + * The direction specifies if rule will be evaluated on incoming or outcoming + * traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values + * include: 'Inbound', 'Outbound' * - * @reject {Error|ServiceError} - The error object. + * @param {string} [securityRuleParameters.provisioningState] The provisioning + * state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. * - * {ServiceCallback} optionalCallback(err, result, request, response) - * - * {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. - * - * {WebResource} [request] - The HTTP Request object if an error did not occur. - * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, callback: ServiceCallback): void; - beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * 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' + * @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 {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {string} [securityRuleParameters.etag] A unique read-only string that + * changes whenever the resource is updated. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @param {string} [securityRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -17811,60 +18930,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. */ - beginCheckConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, 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. + * Creates or updates a security rule in the specified network security group. * - * @param {string} resourceGroupName The name of the network watcher resource + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkSecurityGroupName The name of the network security * group. * - * @param {string} networkWatcherName The name of the network watcher resource. + * @param {string} securityRuleName The name of the security rule. * - * @param {object} parameters Parameters that determine how the connectivity - * check will be performed. + * @param {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. * - * @param {object} parameters.source + * @param {string} [securityRuleParameters.description] A description for this + * rule. Restricted to 140 chars. * - * @param {string} parameters.source.resourceId The ID of the resource from - * which a connectivity check will be initiated. + * @param {string} securityRuleParameters.protocol Network protocol this rule + * applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible values + * include: 'Tcp', 'Udp', '*' * - * @param {number} [parameters.source.port] The source port from which a - * connectivity check will be performed. + * @param {string} [securityRuleParameters.sourcePortRange] The source port or + * range. Integer or range between 0 and 65535. Asterix '*' can also be used to + * match all ports. * - * @param {object} parameters.destination + * @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.destination.resourceId] The ID of the resource - * to which a connection attempt will be made. + * @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.destination.address] The IP address or URI the - * resource to which a connection attempt will be made. + * @param {array} [securityRuleParameters.sourceAddressPrefixes] The CIDR or + * source IP ranges. * - * @param {number} [parameters.destination.port] Port on which check - * connectivity will be performed. + * @param {array} [securityRuleParameters.sourceApplicationSecurityGroups] The + * application security group specified as source. * - * @param {string} [parameters.protocol] Network protocol. Possible values - * include: 'Tcp', 'Http', 'Https', 'Icmp' + * @param {string} [securityRuleParameters.destinationAddressPrefix] The + * destination address prefix. CIDR or destination IP range. Asterix '*' can + * also be used to match all source IPs. Default tags such as 'VirtualNetwork', + * 'AzureLoadBalancer' and 'Internet' can also be used. * - * @param {object} [parameters.protocolConfiguration] + * @param {array} [securityRuleParameters.destinationAddressPrefixes] The + * destination address prefixes. CIDR or destination IP ranges. * - * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] + * @param {array} [securityRuleParameters.destinationApplicationSecurityGroups] + * The application security group specified as destination. * - * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] - * HTTP method. Possible values include: 'Get' + * @param {array} [securityRuleParameters.sourcePortRanges] The source port + * ranges. * - * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] - * List of HTTP headers. + * @param {array} [securityRuleParameters.destinationPortRanges] The + * destination port ranges. * - * @param {array} - * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid - * status codes. + * @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. * @@ -17878,7 +19032,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {ConnectivityInformation} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17886,50 +19040,25 @@ 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. + * {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. */ - 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; + 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 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. - * - * @param {array} [parameters.providers] List of Internet service providers. - * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * Gets all security rules in a network security group. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {string} resourceGroupName The name of the resource group. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {string} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -17938,43 +19067,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. */ - beginGetAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, 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. - * - * @param {array} [parameters.providers] List of Internet service providers. - * - * @param {array} [parameters.azureLocations] Optional Azure regions to scope - * the query to. + * Gets all security rules in a network security group. * - * @param {date} parameters.startTime The start time for the Azure reachability - * report. + * @param {string} resourceGroupName The name of the resource group. * - * @param {date} parameters.endTime The end time for the Azure reachability - * report. + * @param {string} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -17988,7 +19093,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AzureReachabilityReport} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -17996,39 +19101,28 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AzureReachabilityReport} [result] - The deserialized result object if an error did not occur. - * See {@link AzureReachabilityReport} for more + * {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. */ - 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; + 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; /** - * Lists all available internet service providers for a specified Azure region. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that scope the list of available - * providers. - * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * Deletes the specified network security rule. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.state] The state for available providers list. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -18037,32 +19131,21 @@ export interface NetworkWatchers { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginListAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all available internet service providers for a specified Azure region. - * - * @param {string} resourceGroupName The name of the network watcher resource - * group. - * - * @param {string} networkWatcherName The name of the network watcher resource. - * - * @param {object} parameters Parameters that scope the list of available - * providers. - * - * @param {array} [parameters.azureLocations] A list of Azure regions. + * Deletes the specified network security rule. * - * @param {string} [parameters.country] The country for available providers - * list. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.state] The state for available providers list. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} [parameters.city] The city or town for available providers - * list. + * @param {string} securityRuleName The name of the security rule. * * @param {object} [options] Optional Parameters. * @@ -18076,7 +19159,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {AvailableProvidersList} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18084,34 +19167,100 @@ export interface NetworkWatchers { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {AvailableProvidersList} [result] - The deserialized result object if an error did not occur. - * See {@link AvailableProvidersList} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, callback: ServiceCallback): void; - beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, 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; /** - * Get network configuration diagnostic. + * 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 to get network configuration - * diagnostic. + * @param {string} securityRuleName The name of the security rule. * - * @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 {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. * - * @param {array} parameters.queries List of traffic queries. + * @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. * @@ -18120,27 +19269,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. */ - beginGetNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, securityRuleName: string, securityRuleParameters: models.SecurityRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get network configuration diagnostic. + * 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 to get network configuration - * diagnostic. + * @param {string} securityRuleName The name of the security rule. * - * @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 {object} securityRuleParameters Parameters supplied to the create or + * update network security rule operation. * - * @param {array} parameters.queries List of traffic queries. + * @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. * @@ -18154,7 +19371,7 @@ export interface NetworkWatchers { * * {Promise} A promise is returned. * - * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18162,68 +19379,23 @@ 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. + * {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. */ - 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 { + 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; /** - * 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. + * Gets all security rules in a network security group. * - * @param {array} [parameters.filters] + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -18232,52 +19404,17 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create and start a packet capture on the specified VM. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. - * - * @param {string} packetCaptureName The name of the packet capture session. - * - * @param {object} parameters Parameters that define the create packet capture - * operation. - * - * @param {string} parameters.target The ID of the targeted resource, only VM - * is currently supported. - * - * @param {number} [parameters.bytesToCapturePerPacket] Number of bytes - * captured per packet, the remaining bytes are truncated. - * - * @param {number} [parameters.totalBytesPerSession] Maximum size of the - * capture output. - * - * @param {number} [parameters.timeLimitInSeconds] Maximum duration of the - * capture session in seconds. - * - * @param {object} parameters.storageLocation - * - * @param {string} [parameters.storageLocation.storageId] The ID of the storage - * account to save the packet capture session. Required if no local file path - * is provided. - * - * @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. + * Gets all security rules in a network security group. * - * @param {array} [parameters.filters] + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -18291,7 +19428,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureResult} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18299,26 +19436,35 @@ 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. + * {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. */ - 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; + 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 a packet capture session by name. + * 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 {string} packetCaptureName The name of the packet capture session. + * @param {string} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -18327,20 +19473,19 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a packet capture session by name. + * 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 {string} packetCaptureName The name of the packet capture session. + * @param {string} networkSecurityGroupName The name of the network security + * group. * * @param {object} [options] Optional Parameters. * @@ -18354,7 +19499,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureResult} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18362,26 +19507,29 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureResult} for more information. + * {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. */ - 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; + list(resourceGroupName: string, networkSecurityGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, networkSecurityGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, networkSecurityGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified packet capture session. + * 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. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} defaultSecurityRuleName The name of the default security + * rule. * * @param {object} [options] Optional Parameters. * @@ -18390,20 +19538,22 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkSecurityGroupName: string, defaultSecurityRuleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified packet capture session. + * 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. + * @param {string} networkSecurityGroupName The name of the network security + * group. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} defaultSecurityRuleName The name of the default security + * rule. * * @param {object} [options] Optional Parameters. * @@ -18417,7 +19567,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {SecurityRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18425,25 +19575,23 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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, 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; + 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; /** - * Stops a specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. + * Gets all default security rules in a network security group. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -18452,20 +19600,17 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops a specified packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the network watcher. + * Gets all default security rules in a network security group. * - * @param {string} packetCaptureName The name of the packet capture session. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -18479,7 +19624,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {SecurityRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18487,26 +19632,46 @@ 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. + * {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. */ - stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - stop(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * NetworkWatchers + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface NetworkWatchers { /** - * Query the status of a running packet capture session. + * 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 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 network watcher + * resource. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18515,21 +19680,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. */ - getStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkWatcher, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query the status of a running packet capture session. + * 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 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 network watcher + * resource. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18543,7 +19717,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. + * @resolve {NetworkWatcher} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18551,25 +19725,24 @@ 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. - * + * {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. */ - 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; + 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; /** - * Lists all packet capture sessions within the specified resource group. + * Gets the specified network watcher by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -18578,18 +19751,18 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all packet capture sessions within the specified resource group. + * Gets the specified network watcher by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -18603,7 +19776,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureListResult} - The deserialized result object. + * @resolve {NetworkWatcher} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18611,60 +19784,25 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureListResult} for more - * information. + * {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. */ - list(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, networkWatcherName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, networkWatcherName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, 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; /** - * Create and start a packet capture on the specified VM. + * 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} 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 @@ -18672,53 +19810,19 @@ 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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create and start a packet capture on the specified VM. + * 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} 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 @@ -18731,7 +19835,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18739,26 +19843,28 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. - * See {@link PacketCaptureResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + 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; /** - * Deletes the specified packet capture session. + * Updates a network watcher tags. * * @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 supplied to update network watcher + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18767,20 +19873,23 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified packet capture session. + * Updates a network watcher tags. * * @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 supplied to update network watcher + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -18794,7 +19903,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NetworkWatcher} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18802,26 +19911,23 @@ export interface PacketCaptures { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, 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; /** - * Stops a specified packet capture session. + * Gets all network watchers by resource group. * * @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 @@ -18829,21 +19935,17 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops a specified packet capture session. + * Gets all network watchers by resource group. * * @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 @@ -18856,7 +19958,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NetworkWatcherListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18864,26 +19966,21 @@ 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. + * {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. */ - 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; + 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; /** - * Query the status of a running packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * Gets all network watchers by subscription. * * @param {object} [options] Optional Parameters. * @@ -18892,21 +19989,14 @@ export interface PacketCaptures { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query the status of a running packet capture session. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} packetCaptureName The name given to the packet capture - * session. + * Gets all network watchers by subscription. * * @param {object} [options] Optional Parameters. * @@ -18920,7 +20010,7 @@ export interface PacketCaptures { * * {Promise} A promise is returned. * - * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. + * @resolve {NetworkWatcherListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -18928,124 +20018,73 @@ 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 + * {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. */ - 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 { + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create or update a connection monitor. + * Gets the current network topology by 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} networkWatcherName The name of the network watcher. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {object} parameters Parameters that define the representation of + * topology. * - * @param {object} parameters Parameters that define the operation to create a - * connection monitor. + * @param {string} [parameters.targetResourceGroupName] The name of the target + * resource group to perform topology on. * - * @param {string} [parameters.location] Connection monitor location. + * @param {object} [parameters.targetVirtualNetwork] The reference of the + * Virtual Network resource. * - * @param {object} [parameters.tags] Connection monitor tags. + * @param {object} [parameters.targetSubnet] The reference of the Subnet + * resource. * - * @param {object} parameters.source + * @param {string} [parameters.targetSubnet.id] Resource ID. * - * @param {string} parameters.source.resourceId The ID of the resource used as - * the source by connection monitor. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.source.port] The source port used by connection - * monitor. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} parameters.destination + * @returns {Promise} A promise is returned * - * @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. - * - * @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, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getTopologyWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TopologyParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or update a connection monitor. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. - * - * @param {string} networkWatcherName The name of the Network Watcher resource. - * - * @param {string} connectionMonitorName The name of the connection monitor. - * - * @param {object} parameters Parameters that define the operation to create a - * connection monitor. - * - * @param {string} [parameters.location] Connection monitor location. - * - * @param {object} [parameters.tags] Connection monitor tags. - * - * @param {object} parameters.source - * - * @param {string} parameters.source.resourceId The ID of the resource used as - * the source by connection monitor. + * Gets the current network topology by resource group. * - * @param {number} [parameters.source.port] The source port used by connection - * monitor. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} parameters.destination + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} [parameters.destination.resourceId] The ID of the resource - * used as the destination by connection monitor. + * @param {object} parameters Parameters that define the representation of + * topology. * - * @param {string} [parameters.destination.address] Address of the connection - * monitor destination (IP or domain name). + * @param {string} [parameters.targetResourceGroupName] The name of the target + * resource group to perform topology on. * - * @param {number} [parameters.destination.port] The destination port used by - * connection monitor. + * @param {object} [parameters.targetVirtualNetwork] The reference of the + * Virtual Network resource. * - * @param {boolean} [parameters.autoStart] Determines if the connection monitor - * will start automatically once created. + * @param {object} [parameters.targetSubnet] The reference of the Subnet + * resource. * - * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval - * in seconds. + * @param {string} [parameters.targetSubnet.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -19059,7 +20098,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {Topology} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19067,28 +20106,55 @@ 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. + * {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. */ - 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; + 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; /** - * Gets a connection monitor by name. + * 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 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 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. * @@ -19097,21 +20163,49 @@ 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>; + verifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a connection monitor by name. + * 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 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 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. * @@ -19125,7 +20219,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorResult} - The deserialized result object. + * @resolve {VerificationIPFlowResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19133,28 +20227,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 + * {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. */ - 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; + 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; /** - * Deletes the specified connection monitor. + * Gets the next hop from 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 {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. * @@ -19163,21 +20268,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>; + getNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified connection monitor. + * Gets the next hop from 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 {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. * @@ -19191,7 +20307,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {NextHopResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19199,26 +20315,29 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - 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; + 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; /** - * Stops the specified connection monitor. + * Gets the configured and effective security group rules 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 {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. * @@ -19227,23 +20346,25 @@ 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>; + getVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops the specified connection monitor. + * Gets the configured and effective security group rules 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 {object} parameters Parameters that define the VM to check security + * groups for. * - * @param {object} [options] Optional Parameters. + * @param {string} parameters.targetResourceId ID of the target VM. + * + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -19255,7 +20376,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {SecurityGroupViewResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19263,26 +20384,37 @@ 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. + * {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. */ - 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; + 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; /** - * Starts the specified connection monitor. + * Initiate troubleshooting on a specified resource * - * @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 resource. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {object} parameters Parameters that define the resource to + * troubleshoot. + * + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. + * + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. + * + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * * @param {object} [options] Optional Parameters. * @@ -19291,21 +20423,30 @@ 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>; + getTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Starts the specified connection monitor. + * Initiate troubleshooting on a specified resource * - * @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 resource. * - * @param {string} connectionMonitorName The name of the connection monitor. + * @param {object} parameters Parameters that define the resource to + * troubleshoot. + * + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. + * + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. + * + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. * * @param {object} [options] Optional Parameters. * @@ -19319,7 +20460,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19327,27 +20468,30 @@ 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. + * {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. */ - 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; + 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; /** - * Query a snapshot of the most recent connection states. + * Get the last completed troubleshooting result on a specified resource * - * @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 resource. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @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. * @@ -19356,22 +20500,24 @@ 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>; + getTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query a snapshot of the most recent connection states. + * Get the last completed troubleshooting result on a specified resource * - * @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 resource. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @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. * @@ -19385,7 +20531,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19393,26 +20539,66 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionMonitorQueryResult} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionMonitorQueryResult} for more - * information. + * {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. */ - 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; + 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; /** - * Lists all connection monitors for the specified Network Watcher. + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @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 {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. * @@ -19421,19 +20607,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. */ - listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + setFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all connection monitors for the specified Network Watcher. + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @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 {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. * @@ -19447,7 +20674,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {ConnectionMonitorListResult} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19455,60 +20682,141 @@ 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. + * {FlowLogInformation} [result] - The deserialized result object if an error did not occur. + * See {@link FlowLogInformation} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, 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; + setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, callback: ServiceCallback): void; + setFlowLogConfiguration(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Create or update a connection monitor. + * Queries status of flow log and traffic analytics (optional) on a specified + * resource. * - * @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 define a resource to query flow + * log and traffic analytics (optional) status. * - * @param {object} parameters Parameters that define the operation to create a - * connection monitor. + * @param {string} parameters.targetResourceId The target resource where + * getting the flow log and traffic analytics (optional) status. * - * @param {string} [parameters.location] Connection monitor location. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.tags] Connection monitor tags. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} parameters.source + * @returns {Promise} A promise is returned * - * @param {string} parameters.source.resourceId The ID of the resource used as - * the source by connection monitor. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {number} [parameters.source.port] The source port used by connection - * monitor. + * @reject {Error|ServiceError} - The error object. + */ + 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 + * 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 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. + * + * @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 {FlowLogInformation} - 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. + * + * {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. + */ + 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; + + + /** + * 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 - * 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. * @@ -19517,53 +20825,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. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + checkConnectivityWithHttpOperationResponse(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. * @@ -19577,7 +20892,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. * @@ -19585,28 +20900,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. */ - 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; + 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; /** - * Deletes the specified connection monitor. + * 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. * @@ -19615,21 +20952,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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified connection monitor. + * 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. * @@ -19643,7 +21002,7 @@ export interface ConnectionMonitors { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {AzureReachabilityReport} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19651,26 +21010,39 @@ 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. + * {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. */ - 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; + 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; /** - * Stops 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. * @@ -19679,21 +21051,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. */ - beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Stops 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. * @@ -19707,7 +21090,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. * @@ -19715,26 +21098,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. */ - 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; + 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; /** - * Starts 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. * @@ -19743,21 +21134,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. */ - beginStartWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Starts 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. * @@ -19771,7 +21168,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. * @@ -19779,27 +21176,25 @@ export interface ConnectionMonitors { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - 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; + 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; /** - * Query a snapshot of the most recent connection states. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Deletes the specified network watcher resource. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -19808,22 +21203,18 @@ export interface ConnectionMonitors { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginQueryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Query a snapshot of the most recent connection states. - * - * @param {string} resourceGroupName The name of the resource group containing - * Network Watcher. + * Deletes the specified network watcher resource. * - * @param {string} networkWatcherName The name of the Network Watcher resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} connectionMonitorName The name given to the connection - * monitor. + * @param {string} networkWatcherName The name of the network watcher. * * @param {object} [options] Optional Parameters. * @@ -19837,7 +21228,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. * @@ -19845,30 +21236,54 @@ 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, 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; /** - * Lists all of the available Network Rest API operations. + * Verify IP flow from the specified VM to a location given the currently + * configured NSG rules. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the IP flow to be + * verified. + * + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform next-hop on. + * + * @param {string} parameters.direction The direction of the packet represented + * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * + * @param {string} parameters.protocol Protocol to be verified on. Possible + * values include: 'TCP', 'UDP' + * + * @param {string} parameters.localPort The local port. Acceptable values are a + * single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.remotePort The remote port. Acceptable values are + * a single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.localIPAddress The local IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of them, then this + * parameter must be specified. Otherwise optional). * * @param {object} [options] Optional Parameters. * @@ -19877,14 +21292,49 @@ 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>; + beginVerifyIPFlowWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.VerificationIPFlowParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all of the available Network Rest API operations. + * Verify IP flow from the specified VM to a location given the currently + * configured NSG rules. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} parameters Parameters that define the IP flow to be + * verified. + * + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform next-hop on. + * + * @param {string} parameters.direction The direction of the packet represented + * as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + * + * @param {string} parameters.protocol Protocol to be verified on. Possible + * values include: 'TCP', 'UDP' + * + * @param {string} parameters.localPort The local port. Acceptable values are a + * single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.remotePort The remote port. Acceptable values are + * a single integer in the range (0-65535). Support for * for the source port, + * which depends on the direction. + * + * @param {string} parameters.localIPAddress The local IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} parameters.remoteIPAddress The remote IP address. Acceptable + * values are valid IPv4 addresses. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of them, then this + * parameter must be specified. Otherwise optional). * * @param {object} [options] Optional Parameters. * @@ -19898,7 +21348,7 @@ export interface Operations { * * {Promise} A promise is returned. * - * @resolve {OperationListResult} - The deserialized result object. + * @resolve {VerificationIPFlowResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19906,42 +21356,73 @@ 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. + * {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. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(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; /** - * Lists all of the available Network Rest API operations. + * Gets the next hop from the specified VM. * - * @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} networkWatcherName The name of the network watcher. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters that define the source and destination + * endpoint. * - * @returns {Promise} A promise is returned + * @param {string} parameters.targetResourceId The resource identifier of the + * target resource against which the action is to be performed. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} parameters.sourceIPAddress The source IP address. * - * @reject {Error|ServiceError} - The error object. + * @param {string} parameters.destinationIPAddress The destination IP address. + * + * @param {string} [parameters.targetNicResourceId] The NIC ID. (If VM has + * multiple NICs and IP forwarding is enabled on any of the nics, then this + * parameter must be specified. Otherwise optional). + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetNextHopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all of the available Network Rest API operations. + * Gets the next hop from the specified VM. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {object} 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. * @@ -19955,7 +21436,7 @@ export interface Operations { * * {Promise} A promise is returned. * - * @resolve {OperationListResult} - The deserialized result object. + * @resolve {NextHopResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -19963,33 +21444,29 @@ export interface Operations { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {OperationListResult} [result] - The deserialized result object if an error did not occur. - * See {@link OperationListResult} for more information. + * {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. */ - 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 { + beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, callback: ServiceCallback): void; + beginGetNextHop(resourceGroupName: string, networkWatcherName: string, parameters: models.NextHopParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified public IP address. + * Gets the configured and effective security group rules on the specified VM. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @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. * @@ -19998,18 +21475,23 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetVMSecurityRulesWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.SecurityGroupViewParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP address. + * Gets the configured and effective security group rules on the specified VM. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @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. * @@ -20023,7 +21505,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {SecurityGroupViewResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20031,49 +21513,71 @@ 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. + * {SecurityGroupViewResult} [result] - The deserialized result object if an error did not occur. + * See {@link SecurityGroupViewResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, 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; + 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; /** - * Gets the specified public IP address in a specified resource group. + * Initiate troubleshooting on a specified resource * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters that define the resource to + * troubleshoot. * - * @param {string} [options.expand] Expands referenced resources. + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. + * + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. + * + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. + * + * @param {object} [options] Optional Parameters. * * @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>; + beginGetTroubleshootingWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.TroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified public IP address in a specified resource group. + * Initiate troubleshooting on a specified resource * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters that define the resource to + * troubleshoot. * - * @param {string} [options.expand] Expands referenced resources. + * @param {string} parameters.targetResourceId The target resource to + * troubleshoot. + * + * @param {string} parameters.storageId The ID for the storage account to save + * the troubleshoot result. + * + * @param {string} parameters.storagePath The path to the blob to save the + * troubleshoot result in. + * + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -20085,7 +21589,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {TroubleshootingResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20093,180 +21597,199 @@ 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. + * {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. */ - 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; + 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; /** - * Creates or updates a static or dynamic public IP address. + * Get the last completed troubleshooting result on a specified resource * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. - * - * @param {object} [parameters.sku] The public IP address SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * @param {object} parameters Parameters that define the resource to query the + * troubleshooting result. * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @param {string} parameters.targetResourceId The target resource ID to query + * the troubleshooting result. * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. + * @param {object} [options] Optional Parameters. * - * @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 {object} [options.customHeaders] Headers that will be added to the + * request * - * @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. + * @returns {Promise} A promise is returned * - * @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. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. + * @reject {Error|ServiceError} - The error object. + */ + beginGetTroubleshootingResultWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.QueryTroubleshootingParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get the last completed troubleshooting result on a specified resource * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * @param {object} parameters Parameters that define the resource to query the + * troubleshooting result. * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. + * @param {string} parameters.targetResourceId The target resource ID to query + * the troubleshooting result. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP 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 {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.id] Resource ID. + * {Promise} A promise is returned. * - * @param {string} [parameters.location] Resource location. + * @resolve {TroubleshootingResult} - The deserialized result object. * - * @param {object} [parameters.tags] Resource tags. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [options] Optional Parameters. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @returns {Promise} A promise is returned + * {TroubleshootingResult} [result] - The deserialized result object if an error did not occur. + * See {@link TroubleshootingResult} for more information. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @reject {Error|ServiceError} - The error object. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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; + /** - * Creates or updates a static or dynamic public IP address. + * 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} 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 {object} parameters Parameters that define the configuration of flow + * log. * - * @param {object} [parameters.sku] The public IP address SKU. + * @param {string} parameters.targetResourceId The ID of the resource to + * configure for flow log and traffic analytics (optional) . * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' + * @param {string} parameters.storageId ID of the storage account which is used + * to store the flow log. * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * @param {boolean} parameters.enabled Flag to enable/disable flow logging. * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @param {object} [parameters.retentionPolicy] * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. + * @param {number} [parameters.retentionPolicy.days] Number of days to retain + * flow log records. * - * @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 {boolean} [parameters.retentionPolicy.enabled] Flag to enable/disable + * retention. * - * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified - * domain name of the A DNS record associated with the public IP. This is the - * concatenation of the domainNameLabel and the regionalized DNS zone. + * @param {object} [parameters.flowAnalyticsConfiguration] * - * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the - * Reverse FQDN. A user-visible, fully qualified domain name that resolves to - * this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. + * @param {object} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. + * @param {boolean} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled + * Flag to enable/disable traffic analytics. * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId + * The resource guid of the attached workspace * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion + * The location of the attached workspace * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * @param {string} + * parameters.flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId + * Resource Id of the attached workspace * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @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 {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * @reject {Error|ServiceError} - The error object. + */ + beginSetFlowLogConfigurationWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogInformation, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Configures flow log and traffic analytics (optional) on a specified + * resource. * - * @param {string} [parameters.id] Resource ID. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} [parameters.location] Resource location. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} [parameters.tags] Resource tags. + * @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. * @@ -20280,7 +21803,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20288,29 +21811,32 @@ 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. + * {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. */ - 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; + 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; /** - * Updates public IP address tags. + * 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} publicIpAddressName The name of the public IP address. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters supplied to update public IP address - * tags. + * @param {object} parameters Parameters that define a resource to query flow + * log and traffic analytics (optional) status. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} parameters.targetResourceId The target resource where + * getting the flow log and traffic analytics (optional) status. * * @param {object} [options] Optional Parameters. * @@ -20319,23 +21845,26 @@ 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>; + beginGetFlowLogStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP address tags. + * 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} publicIpAddressName The name of the public IP address. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {object} parameters Parameters supplied to update public IP address - * tags. + * @param {object} parameters Parameters that define a resource to query flow + * log and traffic analytics (optional) status. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} parameters.targetResourceId The target resource where + * getting the flow log and traffic analytics (optional) status. * * @param {object} [options] Optional Parameters. * @@ -20349,7 +21878,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {FlowLogInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20357,74 +21886,66 @@ 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. + * {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. */ - 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; + beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, callback: ServiceCallback): void; + beginGetFlowLogStatus(resourceGroupName: string, networkWatcherName: string, parameters: models.FlowLogStatusParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the public IP addresses in a subscription. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * 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. * - * @returns {Promise} A promise is returned + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @reject {Error|ServiceError} - The error object. - */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all the public IP addresses in a subscription. + * @param {object} parameters Parameters that determine how the connectivity + * check will be performed. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters.source * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} parameters.source.resourceId The ID of the resource from + * which a connectivity check will be initiated. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {number} [parameters.source.port] The source port from which a + * connectivity check will be performed. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} parameters.destination * - * {Promise} A promise is returned. + * @param {string} [parameters.destination.resourceId] The ID of the resource + * to which a connection attempt will be made. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @param {string} [parameters.destination.address] The IP address or URI the + * resource to which a connection attempt will be made. * - * @reject {Error|ServiceError} - The error object. + * @param {number} [parameters.destination.port] Port on which check + * connectivity will be performed. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [parameters.protocol] Network protocol. Possible values + * include: 'Tcp', 'Http', 'Https', 'Icmp' * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} [parameters.protocolConfiguration] * - * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddressListResult} for more - * information. + * @param {object} [parameters.protocolConfiguration.hTTPConfiguration] * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.protocolConfiguration.hTTPConfiguration.method] + * HTTP method. Possible values include: 'Get' * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all public IP addresses in a resource group. + * @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 {object} [options] Optional Parameters. * @@ -20433,16 +21954,60 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCheckConnectivityWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.ConnectivityParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP addresses in a resource group. + * Verifies the possibility of establishing a direct TCP connection from a + * virtual machine to a given endpoint including another VM or an arbitrary + * remote server. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. + * + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that 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' + * + * @param {array} [parameters.protocolConfiguration.hTTPConfiguration.headers] + * List of HTTP headers. + * + * @param {array} + * [parameters.protocolConfiguration.hTTPConfiguration.validStatusCodes] Valid + * status codes. * * @param {object} [options] Optional Parameters. * @@ -20456,7 +22021,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {ConnectivityInformation} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20464,27 +22029,50 @@ 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 + * {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. */ - 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; + 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 information about all public IP addresses on a virtual machine scale - * set level. + * Gets the relative latency score for internet service providers from a + * specified location to Azure regions. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that determine Azure reachability + * report configuration. + * + * @param {object} parameters.providerLocation + * + * @param {string} parameters.providerLocation.country The name of the country. + * + * @param {string} [parameters.providerLocation.state] The name of the state. + * + * @param {string} [parameters.providerLocation.city] The name of the city or + * town. + * + * @param {array} [parameters.providers] List of Internet service providers. + * + * @param {array} [parameters.azureLocations] Optional Azure regions to scope + * the query to. + * + * @param {date} parameters.startTime The start time for the Azure reachability + * report. + * + * @param {date} parameters.endTime The end time for the Azure reachability + * report. * * @param {object} [options] Optional Parameters. * @@ -20493,20 +22081,43 @@ 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>; + beginGetAzureReachabilityReportWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AzureReachabilityReportParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. + * Gets the relative latency score for internet service providers from a + * specified location to Azure regions. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} networkWatcherName The name of the network watcher resource. + * + * @param {object} parameters Parameters that determine Azure reachability + * report configuration. + * + * @param {object} parameters.providerLocation + * + * @param {string} parameters.providerLocation.country The name of the country. + * + * @param {string} [parameters.providerLocation.state] The name of the state. + * + * @param {string} [parameters.providerLocation.city] The name of the city or + * town. + * + * @param {array} [parameters.providers] List of Internet service providers. + * + * @param {array} [parameters.azureLocations] Optional Azure regions to scope + * the query to. + * + * @param {date} parameters.startTime The start time for the Azure reachability + * report. + * + * @param {date} parameters.endTime The end time for the Azure reachability + * report. * * @param {object} [options] Optional Parameters. * @@ -20520,7 +22131,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {AzureReachabilityReport} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20528,33 +22139,39 @@ 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 + * {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. */ - 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; + 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; /** - * Gets information about all public IP addresses in a virtual machine IP - * configuration in a virtual machine scale set. + * Lists all available internet service providers for a specified Azure region. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} virtualmachineIndex The virtual machine index. + * @param {object} parameters Parameters that scope the list of available + * providers. * - * @param {string} networkInterfaceName The network interface name. + * @param {array} [parameters.azureLocations] A list of Azure regions. * - * @param {string} ipConfigurationName The IP configuration name. + * @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. * @@ -20563,26 +22180,32 @@ 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>; + beginListAvailableProvidersWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, 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. + * Lists all available internet service providers for a specified Azure region. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The name of the network watcher resource + * group. * - * @param {string} virtualMachineScaleSetName The name of the virtual machine - * scale set. + * @param {string} networkWatcherName The name of the network watcher resource. * - * @param {string} virtualmachineIndex The virtual machine index. + * @param {object} parameters Parameters that scope the list of available + * providers. * - * @param {string} networkInterfaceName The network interface name. + * @param {array} [parameters.azureLocations] A list of Azure regions. * - * @param {string} ipConfigurationName The IP configuration name. + * @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. * @@ -20596,7 +22219,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {AvailableProvidersList} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20604,70 +22227,66 @@ 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 + * {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. */ - 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; + beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, callback: ServiceCallback): void; + beginListAvailableProviders(resourceGroupName: string, networkWatcherName: string, parameters: models.AvailableProvidersListParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the specified public IP address in a virtual machine scale set. + * Get network configuration diagnostic. * * @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} networkWatcherName The name of the network watcher. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {object} parameters Parameters to get network configuration + * diagnostic. * - * @param {string} ipConfigurationName The name of the IP configuration. + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform network configuration diagnostic. Valid options are VM, + * NetworkInterface, VMSS/NetworkInterface and Application Gateway. * - * @param {string} publicIpAddressName The name of the public IP Address. + * @param {array} parameters.queries List of traffic queries. * * @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>; + beginGetNetworkConfigurationDiagnosticWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, parameters: models.NetworkConfigurationDiagnosticParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified public IP address in a virtual machine scale set. + * Get network configuration diagnostic. * * @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} networkWatcherName The name of the network watcher. * - * @param {string} networkInterfaceName The name of the network interface. + * @param {object} parameters Parameters to get network configuration + * diagnostic. * - * @param {string} ipConfigurationName The name of the IP configuration. + * @param {string} parameters.targetResourceId The ID of the target resource to + * perform network configuration diagnostic. Valid options are VM, + * NetworkInterface, VMSS/NetworkInterface and Application Gateway. * - * @param {string} publicIpAddressName The name of the public IP Address. + * @param {array} parameters.queries List of traffic queries. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -20678,7 +22297,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {NetworkConfigurationDiagnosticResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20686,24 +22305,68 @@ 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. + * {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. */ - 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; - + 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 { + /** - * Deletes the specified public IP address. + * Create and start a packet capture on the specified VM. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @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. * @@ -20712,18 +22375,52 @@ 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>; + createWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP address. + * Create and start a packet capture on the specified VM. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the subnet. + * @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. * @@ -20737,7 +22434,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -20745,91 +22442,89 @@ 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. + * {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. */ - 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; + 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; /** - * Creates or updates a static or dynamic public IP address. + * Gets a packet capture session by name. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. + * @param {string} packetCaptureName The name of the packet capture session. * - * @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. + */ + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets a packet capture session by name. * - * @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. * - * @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. * - * @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} packetCaptureName The name of the packet capture session. * - * @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 {PacketCaptureResult} - 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. + * {PacketCaptureResult} [result] - The deserialized result object if an error did not occur. + * See {@link PacketCaptureResult} for more information. * - * @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. + */ + 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; + + + /** + * Deletes the specified packet capture session. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -20838,86 +22533,82 @@ 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. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP address. + * Deletes the specified packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP address operation. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {object} [parameters.sku] The public IP address SKU. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {string} [parameters.sku.name] Name of a public IP address SKU. - * Possible values include: 'Basic', 'Standard' + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.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. + * {Promise} A promise is returned. * - * @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. + * @resolve {null} - The deserialized result 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. + * @reject {Error|ServiceError} - The error object. * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP address. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [parameters.ipAddress] The IP address associated with the - * public IP address resource. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public - * IP Address should be allocated from. + * {null} [result] - The deserialized result object if an error did not occur. * - * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the - * public IP address. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Stops a specified packet capture session. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} networkWatcherName The name of the network watcher. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} packetCaptureName The name of the packet capture session. * - * @param {array} [parameters.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.id] Resource ID. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.location] Resource location. + * @returns {Promise} A promise is returned * - * @param {object} [parameters.tags] Resource tags. + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Stops a specified packet capture session. + * + * @param {string} 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. * @@ -20931,7 +22622,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. * @@ -20939,29 +22630,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. + * {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, 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; + 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; /** - * Updates public IP address tags. + * Query the status of a running packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to update public IP address - * tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -20970,23 +22658,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. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP address tags. + * Query the status of a running packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpAddressName The name of the public IP address. - * - * @param {object} parameters Parameters supplied to update public IP address - * tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} packetCaptureName The name given to the packet capture + * session. * * @param {object} [options] Optional Parameters. * @@ -21000,7 +22686,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddress} - The deserialized result object. + * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21008,23 +22694,25 @@ export interface PublicIPAddresses { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPAddress} for more information. + * {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. */ - 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; + getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, callback: ServiceCallback): void; + getStatus(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the public IP addresses in a subscription. + * Lists all packet capture sessions within the specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -21033,17 +22721,18 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, 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 packet capture sessions within the specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -21057,7 +22746,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {PacketCaptureListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21065,24 +22754,59 @@ 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 + * {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. */ - 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, 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 and start a packet capture on the specified VM. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {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. * @@ -21091,17 +22815,52 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, parameters: models.PacketCapture, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP addresses in a resource group. + * Create and start a packet capture on the specified VM. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {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. * @@ -21115,7 +22874,7 @@ export interface PublicIPAddresses { * * {Promise} A promise is returned. * - * @resolve {PublicIPAddressListResult} - The deserialized result object. + * @resolve {PacketCaptureResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21123,25 +22882,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. + * {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. */ - 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; + 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; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. + * Deletes the specified 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. + * + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -21150,18 +22910,20 @@ export interface PublicIPAddresses { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listVirtualMachineScaleSetPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets information about all public IP addresses on a virtual machine scale - * set level. + * Deletes the specified 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. + * + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -21175,7 +22937,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. * @@ -21183,94 +22945,25 @@ 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. */ - 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; + 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; /** - * 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 { - - - /** - * Deletes the specified public IP prefix. + * Stops a specified packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -21283,14 +22976,16 @@ export interface PublicIPPrefixes { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP prefix. + * Stops a specified packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} networkWatcherName The name of the network watcher. + * + * @param {string} packetCaptureName The name of the packet capture session. * * @param {object} [options] Optional Parameters. * @@ -21318,43 +23013,45 @@ export interface PublicIPPrefixes { * * {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; + 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; /** - * Gets the specified public IP prefix in a specified resource group. + * Query the status of a running packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [options] Optional Parameters. + * @param {string} packetCaptureName The name given to the packet capture + * session. * - * @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, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetStatusWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, packetCaptureName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified public IP prefix in a specified resource group. + * Query the status of a running packet capture session. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [options] Optional Parameters. + * @param {string} packetCaptureName The name given to the packet capture + * session. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -21366,7 +23063,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {PacketCaptureQueryStatusResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21374,66 +23071,69 @@ 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. + * {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. */ - 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; + 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 { /** - * Creates or updates a static or dynamic public IP prefix. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * Create or update a connection monitor. * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} [parameters.sku] The public IP prefix SKU. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @param {object} parameters Parameters that define the operation to create a + * connection monitor. * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. + * @param {string} [parameters.location] Connection monitor location. * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. + * @param {object} [parameters.tags] Connection monitor tags. * - * @param {string} [parameters.ipPrefix] The allocated Prefix + * @param {object} parameters.source * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses + * @param {string} parameters.source.resourceId The ID of the resource used as + * the source by connection monitor. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. + * @param {number} [parameters.source.port] The source port used by connection + * monitor. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} parameters.destination * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} [parameters.destination.resourceId] The ID of the resource + * used as the destination by connection monitor. * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * @param {string} [parameters.destination.address] Address of the connection + * monitor destination (IP or domain name). * - * @param {string} [parameters.id] Resource ID. + * @param {number} [parameters.destination.port] The destination port used by + * connection monitor. * - * @param {string} [parameters.location] Resource location. + * @param {boolean} [parameters.autoStart] Determines if the connection monitor + * will start automatically once created. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -21442,60 +23142,53 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP prefix. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * Create or update a connection monitor. * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} [parameters.sku] The public IP prefix SKU. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' + * @param {string} connectionMonitorName The name of the connection monitor. * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' + * @param {object} parameters Parameters that define the operation to create a + * connection monitor. * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. + * @param {string} [parameters.location] Connection monitor location. * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. + * @param {object} [parameters.tags] Connection monitor tags. * - * @param {string} [parameters.ipPrefix] The allocated Prefix + * @param {object} parameters.source * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses + * @param {string} parameters.source.resourceId The ID of the resource used as + * the source by connection monitor. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. + * @param {number} [parameters.source.port] The source port used by connection + * monitor. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {object} parameters.destination * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} [parameters.destination.resourceId] The ID of the resource + * used as the destination by connection monitor. * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * @param {string} [parameters.destination.address] Address of the connection + * monitor destination (IP or domain name). * - * @param {string} [parameters.id] Resource ID. + * @param {number} [parameters.destination.port] The destination port used by + * connection monitor. * - * @param {string} [parameters.location] Resource location. + * @param {boolean} [parameters.autoStart] Determines if the connection monitor + * will start automatically once created. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} [parameters.monitoringIntervalInSeconds] Monitoring interval + * in seconds. * * @param {object} [options] Optional Parameters. * @@ -21509,7 +23202,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21517,29 +23210,28 @@ 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. - * + * {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. */ - 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; + 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; /** - * Updates public IP prefix tags. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets a connection monitor by name. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21548,23 +23240,21 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates public IP prefix tags. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets a connection monitor by name. * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21578,7 +23268,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21586,20 +23276,28 @@ 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. + * {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. */ - 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; + 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; /** - * Gets all the public IP prefixes in a subscription. + * Deletes the specified connection monitor. + * + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. + * + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21608,14 +23306,21 @@ 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>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP prefixes in a subscription. + * Deletes the specified connection monitor. + * + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. + * + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21629,7 +23334,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21637,23 +23342,26 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefixListResult} for more - * information. + * {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; + 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; /** - * Gets all public IP prefixes in a resource group. + * 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} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21662,16 +23370,21 @@ 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>; + stopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP prefixes in a resource group. + * 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} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21685,7 +23398,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21693,25 +23406,26 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefixListResult} for more - * information. + * {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; + 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; /** - * Deletes the specified public IP prefix. + * Starts 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} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21724,14 +23438,17 @@ export interface PublicIPPrefixes { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + startWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified public IP prefix. + * Starts 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} publicIpPrefixName The name of the PublicIpPrefix. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -21759,59 +23476,21 @@ 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; + 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; /** - * Creates or updates a static or dynamic public IP prefix. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. - * - * @param {object} [parameters.sku] The public IP prefix SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. - * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. - * - * @param {string} [parameters.ipPrefix] The allocated Prefix - * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * Query a snapshot of the most recent connection states. * - * @param {string} [parameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [parameters.location] Resource location. + * @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. * @@ -21820,60 +23499,22 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + queryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a static or dynamic public IP prefix. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} publicIpPrefixName The name of the public IP prefix. - * - * @param {object} parameters Parameters supplied to the create or update - * public IP prefix operation. - * - * @param {object} [parameters.sku] The public IP prefix SKU. - * - * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. - * Possible values include: 'Standard' - * - * @param {string} [parameters.publicIPAddressVersion] The public IP address - * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: - * 'IPv4', 'IPv6' - * - * @param {array} [parameters.ipTags] The list of tags associated with the - * public IP prefix. - * - * @param {number} [parameters.prefixLength] The Length of the Public IP - * Prefix. - * - * @param {string} [parameters.ipPrefix] The allocated Prefix - * - * @param {array} [parameters.publicIPAddresses] The list of all referenced - * PublicIPAddresses - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * public IP prefix resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {array} [parameters.zones] A list of availability zones denoting the - * IP allocated for the resource needs to come from. + * Query a snapshot of the most recent connection states. * - * @param {string} [parameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [parameters.location] Resource location. + * @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. * @@ -21887,7 +23528,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21895,29 +23536,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. + * {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. */ - 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; + 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; /** - * Updates public IP prefix tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} publicIpPrefixName The name of the public IP prefix. + * Lists all connection monitors for the specified Network Watcher. * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -21926,23 +23564,19 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, 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. + * Lists all connection monitors for the specified Network Watcher. * - * @param {object} parameters Parameters supplied to update public IP prefix - * tags. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} networkWatcherName The name of the Network Watcher resource. * * @param {object} [options] Optional Parameters. * @@ -21956,7 +23590,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefix} - The deserialized result object. + * @resolve {ConnectionMonitorListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21964,23 +23598,60 @@ 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. + * {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. */ - 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; + 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 the public IP prefixes in a subscription. + * Create or update a connection monitor. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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. * @@ -21989,17 +23660,53 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: models.ConnectionMonitor, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the public IP prefixes in a subscription. + * Create or update a connection monitor. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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. * @@ -22013,7 +23720,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {ConnectionMonitorResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22021,24 +23728,28 @@ 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 + * {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. */ - 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, 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 all public IP prefixes in a resource group. + * Deletes the specified connection monitor. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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. * @@ -22047,17 +23758,21 @@ export interface PublicIPPrefixes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all public IP prefixes in a resource group. + * Deletes the specified connection monitor. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @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. * @@ -22071,7 +23786,7 @@ export interface PublicIPPrefixes { * * {Promise} A promise is returned. * - * @resolve {PublicIPPrefixListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22079,34 +23794,26 @@ export interface PublicIPPrefixes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. - * See {@link PublicIPPrefixListResult} for more - * information. + * {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 - * RouteFilters - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface RouteFilters { + 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; /** - * Deletes the specified route filter. + * 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} routeFilterName The name of the route filter. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -22119,14 +23826,17 @@ export interface RouteFilters { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginStopWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route filter. + * 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} routeFilterName The name of the route filter. + * @param {string} networkWatcherName The name of the Network Watcher resource. + * + * @param {string} connectionMonitorName The name of the connection monitor. * * @param {object} [options] Optional Parameters. * @@ -22154,45 +23864,45 @@ 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; + 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; /** - * Gets the specified route filter. + * Starts 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} routeFilterName The name of the route filter. + * @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 express route bgp - * peering 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, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginStartWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route filter. + * Starts 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} routeFilterName The name of the route filter. + * @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 express route bgp - * peering resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -22204,7 +23914,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22212,39 +23922,27 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; - - + 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; + + /** - * 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. + * Query a snapshot of the most recent connection states. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -22253,33 +23951,22 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginQueryWithHttpOperationResponse(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route filter in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * Query a snapshot of the most recent connection states. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group containing + * Network Watcher. * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {string} networkWatcherName The name of the Network Watcher resource. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} connectionMonitorName The name given to the connection + * monitor. * * @param {object} [options] Optional Parameters. * @@ -22293,7 +23980,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {ConnectionMonitorQueryResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22301,37 +23988,30 @@ 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. + * {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. */ - createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 { /** - * 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 update - * route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. - * - * @param {object} [routeFilterParameters.tags] Resource tags. - * - * @param {string} [routeFilterParameters.id] Resource ID. + * Lists all of the available Network Rest API operations. * * @param {object} [options] Optional Parameters. * @@ -22340,31 +24020,14 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * 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 update - * route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. - * - * @param {object} [routeFilterParameters.tags] Resource tags. - * - * @param {string} [routeFilterParameters.id] Resource ID. + * Lists all of the available Network Rest API operations. * * @param {object} [options] Optional Parameters. * @@ -22378,7 +24041,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {OperationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22386,22 +24049,23 @@ 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. + * {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. */ - update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; - update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a resource group. + * Lists all of the available Network Rest API operations. * - * @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. * @@ -22410,16 +24074,17 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a resource group. + * Lists all of the available Network Rest API operations. * - * @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. * @@ -22433,7 +24098,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {OperationListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22441,20 +24106,33 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {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. */ - 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; + 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 { /** - * Gets all route filters in a subscription. + * 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. * @@ -22463,14 +24141,18 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a subscription. + * 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. * @@ -22484,7 +24166,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22492,47 +24174,50 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {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, 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; /** - * Deletes the specified route filter. + * Gets the specified public IP address in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} 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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route filter. + * Gets the specified public IP address in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} 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 * @@ -22543,7 +24228,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22551,73 +24236,180 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Creates or updates a route filter in a specified resource group. + * Creates or updates a static or dynamic public IP address. * * @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 {string} publicIpAddressName The name of the public IP address. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {object} [parameters.sku] The public IP address SKU. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {object} [options] Optional Parameters. + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @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. * - * @returns {Promise} A promise is returned + * @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. * - * @resolve {HttpOperationResponse} - The deserialized result 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. + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. + * + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. + * + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route filter in a specified resource group. + * Creates or updates a static or dynamic public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {object} [parameters.sku] The public IP address SKU. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. + * + * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the + * Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. + * + * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified + * domain name of the A DNS record associated with the public IP. This is the + * concatenation of the domainNameLabel and the regionalized DNS zone. + * + * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. + * + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. + * + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22631,7 +24423,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22639,37 +24431,29 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. + * {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. */ - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Updates a route filter in a specified resource group. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} routeFilterParameters Parameters supplied to the update - * route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {object} parameters Parameters supplied to update public IP address + * tags. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22678,31 +24462,23 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route filter in a specified resource group. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {object} routeFilterParameters Parameters supplied to the update - * route filter operation. - * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. - * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {object} parameters Parameters supplied to update public IP address + * tags. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22716,7 +24492,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22724,23 +24500,20 @@ 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. + * {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. */ - beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; - beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 route filters in a resource group. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the public IP addresses in a subscription. * * @param {object} [options] Optional Parameters. * @@ -22749,17 +24522,14 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a resource group. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the public IP addresses in a subscription. * * @param {object} [options] Optional Parameters. * @@ -22773,7 +24543,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22781,23 +24551,23 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {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. */ - 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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a subscription. + * 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. * @@ -22806,17 +24576,16 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a subscription. + * 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. * @@ -22830,7 +24599,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22838,35 +24607,27 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterListResult} for more information. + * {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. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * RouteFilterRules - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface RouteFilterRules { + 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 rule from a route filter. + * Gets information about all public IP addresses on a virtual machine scale + * set level. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the rule. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * * @param {object} [options] Optional Parameters. * @@ -22875,20 +24636,20 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetPublicIPAddressesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified rule from a route filter. + * Gets information about all public IP addresses on a virtual machine scale + * set level. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the rule. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * * @param {object} [options] Optional Parameters. * @@ -22902,7 +24663,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22910,25 +24671,33 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 the specified rule from a route filter. + * 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} routeFilterName The name of the route filter. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {string} ruleName The name of the rule. + * @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. * @@ -22937,20 +24706,26 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetVMPublicIPAddressesWithHttpOperationResponse(resourceGroupName: string, virtualMachineScaleSetName: string, virtualmachineIndex: string, networkInterfaceName: string, ipConfigurationName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified rule from a route filter. + * 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} routeFilterName The name of the route filter. + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {string} ruleName The name of the rule. + * @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. * @@ -22964,7 +24739,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22972,87 +24747,70 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {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. */ - get(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Creates or updates a route in the specified route filter. + * Get the specified public IP address in a virtual machine scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {string} virtualmachineIndex The virtual machine index. * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} ipConfigurationName The name of the IP configuration. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @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. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, 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>; /** - * Creates or updates a route in the specified route filter. + * Get the specified public IP address in a virtual machine scale set. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {string} virtualMachineScaleSetName The name of the virtual machine + * scale set. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {string} virtualmachineIndex The virtual machine index. * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @param {string} networkInterfaceName The name of the network interface. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} ipConfigurationName The name of the IP configuration. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @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 * @@ -23063,7 +24821,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23071,38 +24829,24 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {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, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Updates a route in the specified route filter. + * Deletes the specified public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -23111,32 +24855,18 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route in the specified route filter. + * Deletes the specified public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} publicIpAddressName The name of the subnet. * * @param {object} [options] Optional Parameters. * @@ -23150,7 +24880,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23158,86 +24888,91 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; - update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Gets all RouteFilterRules in a route filter. + * Creates or updates a static or dynamic public IP address. * * @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} publicIpAddressName The name of the public IP address. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. * - * @returns {Promise} A promise is returned + * @param {object} [parameters.sku] The public IP address SKU. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' * - * @reject {Error|ServiceError} - The error object. - */ - listByRouteFilterWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all RouteFilterRules in a route filter. + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {string} routeFilterName The name of the route filter. + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. * - * @param {object} [options] Optional Parameters. + * @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 {object} [options.customHeaders] Headers that will be added to the - * request + * @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 {ServiceCallback} [optionalCallback] - The optional callback. + * @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. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. * - * {Promise} A promise is returned. + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. * - * @resolve {RouteFilterRuleListResult} - The deserialized result object. + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [parameters.publicIPPrefix.id] Resource ID. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. * - * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRuleListResult} for more - * information. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.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. - */ - listByRouteFilter(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByRouteFilter(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - listByRouteFilter(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Deletes the specified rule from a route filter. + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.id] Resource ID. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} [parameters.location] Resource location. * - * @param {string} ruleName The name of the rule. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23246,20 +24981,86 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.PublicIPAddress, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified rule from a route filter. + * Creates or updates a static or dynamic public IP address. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} ruleName The name of the rule. + * @param {object} parameters Parameters supplied to the create or update + * public IP address operation. + * + * @param {object} [parameters.sku] The public IP address SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP address SKU. + * Possible values include: 'Basic', 'Standard' + * + * @param {string} [parameters.publicIPAllocationMethod] The public IP + * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible + * values include: 'Static', 'Dynamic' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {object} [parameters.dnsSettings] The FQDN of the DNS record + * associated with the public IP address. + * + * @param {string} [parameters.dnsSettings.domainNameLabel] Gets or sets the + * Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated + * with the public IP address. If a domain name label is specified, an A DNS + * record is created for the public IP in the Microsoft Azure DNS system. + * + * @param {string} [parameters.dnsSettings.fqdn] Gets the FQDN, Fully qualified + * domain name of the A DNS record associated with the public IP. This is the + * concatenation of the domainNameLabel and the regionalized DNS zone. + * + * @param {string} [parameters.dnsSettings.reverseFqdn] Gets or Sets the + * Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS + * record is created pointing from the IP address in the in-addr.arpa domain to + * the reverse FQDN. + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP address. + * + * @param {string} [parameters.ipAddress] The IP address associated with the + * public IP address resource. + * + * @param {object} [parameters.publicIPPrefix] The Public IP Prefix this Public + * IP Address should be allocated from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the + * public IP address. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23273,7 +25074,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23281,43 +25082,29 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddress} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddress} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Creates or updates a route in the specified route filter. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {object} parameters Parameters supplied to update public IP address + * tags. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23326,38 +25113,23 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpAddressName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route filter. + * Updates public IP address tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] - * - * @param {string} [routeFilterRuleParameters.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. + * @param {string} publicIpAddressName The name of the public IP address. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {object} parameters Parameters supplied to update public IP address + * tags. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23371,7 +25143,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {PublicIPAddress} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23379,38 +25151,23 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {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. */ - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Updates a route in the specified route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * Gets all the public IP addresses in a subscription. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23419,32 +25176,17 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route in the specified route filter. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeFilterName The name of the route filter. - * - * @param {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. - * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' - * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * Gets all the public IP addresses in a subscription. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23458,7 +25200,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23466,20 +25208,21 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRule} for more information. + * {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. */ - beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; - beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 RouteFilterRules in a route filter. + * Gets all public IP addresses in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23491,14 +25234,14 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByRouteFilterNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all RouteFilterRules in a route filter. + * Gets all public IP addresses in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23515,7 +25258,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRuleListResult} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23523,34 +25266,25 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRuleListResult} for more + * {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. */ - listByRouteFilterNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByRouteFilterNext(nextPageLink: string, callback: ServiceCallback): void; - listByRouteFilterNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * RouteTables - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface RouteTables { + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets information about all public IP addresses on a virtual machine scale + * set level. * - * @param {string} routeTableName The name of the route table. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23559,18 +25293,18 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets information about all public IP addresses on a virtual machine scale + * set level. * - * @param {string} routeTableName The name of the route table. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23584,7 +25318,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23592,50 +25326,48 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPAddressListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPAddressListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets information about all public IP addresses in a virtual machine IP + * configuration in a virtual machine scale set. * - * @param {string} routeTableName The name of the route table. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listVirtualMachineScaleSetVMPublicIPAddressesNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets information about all public IP addresses in a virtual machine IP + * configuration in a virtual machine scale set. * - * @param {string} routeTableName The name of the route table. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -23646,7 +25378,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {PublicIPAddressListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23654,46 +25386,34 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {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. */ - get(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeTableName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 { /** - * Create or updates a route table in a specified resource group. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. - * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. - * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {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} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -23702,40 +25422,18 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or updates a route table in a specified resource group. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. - * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. - * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {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} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -23749,7 +25447,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23757,55 +25455,50 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {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, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Updates a route table tags. + * Gets the specified public IP prefix in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to update route table tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} publicIpPrefixName The name of the PublicIPPrefx. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route table tags. + * Gets the specified public IP prefix in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to update route table tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {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 * @@ -23816,7 +25509,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23824,23 +25517,67 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {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. */ - updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Gets all route tables in a resource group. + * Creates or updates a static or dynamic public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. + * + * @param {object} [parameters.sku] The public IP prefix SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. + * + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. + * + * @param {string} [parameters.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -23848,67 +25585,60 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a resource group. + * Creates or updates a static or dynamic public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [options] Optional Parameters. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {object} [parameters.sku] The public IP prefix SKU. * - * @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. + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' * - * @resolve {RouteTableListResult} - The deserialized result object. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @reject {Error|ServiceError} - The error object. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.ipPrefix] The allocated Prefix * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix 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; - - - /** - * Gets all route tables in a subscription. + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.id] Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.location] Resource location. * - * @reject {Error|ServiceError} - The error object. - */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all route tables in a subscription. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23922,7 +25652,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23930,24 +25660,29 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route table. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @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. * @@ -23956,18 +25691,23 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route table. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @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. * @@ -23981,7 +25721,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23989,45 +25729,20 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Create or updates a route table in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. - * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. - * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {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. + * Gets all the public IP prefixes in a subscription. * * @param {object} [options] Optional Parameters. * @@ -24036,40 +25751,14 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or updates a route table in a specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to the create or update route - * table operation. - * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. - * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {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. + * Gets all the public IP prefixes in a subscription. * * @param {object} [options] Optional Parameters. * @@ -24083,7 +25772,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24091,29 +25780,24 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {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. */ - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a route table tags. + * Gets all public IP prefixes in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to update route table tags. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -24121,23 +25805,17 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route table tags. + * Gets all public IP prefixes in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {object} parameters Parameters supplied to update route table tags. - * - * @param {object} [parameters.tags] Resource tags. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -24150,7 +25828,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24158,23 +25836,25 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {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. */ - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 route tables in a resource group. + * Deletes the specified public IP prefix. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -24183,17 +25863,18 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a resource group. + * Deletes the specified public IP prefix. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -24207,7 +25888,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24215,92 +25896,65 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, publicIpPrefixName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route tables in a subscription. + * Creates or updates a static or dynamic public IP prefix. * - * @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} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @returns {Promise} A promise is returned + * @param {object} [parameters.sku] The public IP prefix SKU. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' * - * @reject {Error|ServiceError} - The error object. - */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all route tables 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. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * {Promise} A promise is returned. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [parameters.ipPrefix] The allocated Prefix * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix resource. * - * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTableListResult} for more information. + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.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. - */ - listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAllNext(nextPageLink: string, callback: ServiceCallback): void; - listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * Routes - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface Routes { - - - /** - * Deletes the specified route from a route table. + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.id] Resource ID. * - * @param {string} routeTableName The name of the route table. + * @param {string} [parameters.location] Resource location. * - * @param {string} routeName The name of the route. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -24309,20 +25963,60 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route from a route table. + * Creates or updates a static or dynamic public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {string} routeName The name of the route. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. + * + * @param {object} [parameters.sku] The public IP prefix SKU. + * + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' + * + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. + * + * @param {number} [parameters.prefixLength] The Length of the Public IP + * Prefix. + * + * @param {string} [parameters.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPAddresses] The list of all referenced + * PublicIPAddresses + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * public IP prefix resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {array} [parameters.zones] A list of availability zones denoting the + * IP allocated for the resource needs to come from. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -24336,7 +26030,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24344,25 +26038,29 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified route from a route table. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {string} routeName The name of the route. + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -24371,20 +26069,23 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route from a route table. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {string} routeName The name of the route. + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -24398,7 +26099,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24406,54 +26107,23 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Route} [result] - The deserialized result object if an error did not occur. - * See {@link Route} for more information. + * {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, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Creates or updates a route in the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeTableName The name of the route table. - * - * @param {string} routeName The name of the route. - * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. - * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. - * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' - * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. - * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * Gets all the public IP prefixes in a subscription. * - * @param {string} [routeParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24462,48 +26132,17 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeTableName The name of the route table. - * - * @param {string} routeName The name of the route. - * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. - * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. - * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' - * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. - * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * Gets all the public IP prefixes in a subscription. * - * @param {string} [routeParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24517,7 +26156,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24525,24 +26164,24 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Route} [result] - The deserialized result object if an error did not occur. - * See {@link Route} for more information. + * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefixListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 routes in a route table. + * Gets all public IP prefixes in a resource group. * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} routeTableName The name of the route table. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24551,18 +26190,17 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all routes in a route table. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all public IP prefixes in a resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24576,7 +26214,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {RouteListResult} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24584,26 +26222,34 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteListResult} for more information. + * {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. */ - list(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 from a route table. + * Deletes the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {string} routeName The name of the route. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -24616,16 +26262,14 @@ export interface Routes { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route from a route table. + * Deletes the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {string} routeName The name of the route. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -24653,100 +26297,46 @@ export interface Routes { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Creates or updates a route in the specified route table. + * Gets the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {string} routeName The name of the route. - * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. - * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. - * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' - * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. - * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [routeParameters.id] Resource ID. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced express route bgp + * peering resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route table. + * Gets the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * - * @param {string} routeName The name of the route. - * - * @param {object} routeParameters Parameters supplied to the create or update - * route operation. - * - * @param {string} [routeParameters.addressPrefix] The destination CIDR to - * which the route applies. - * - * @param {string} routeParameters.nextHopType The type of Azure hop the packet - * should be sent to. Possible values are: 'VirtualNetworkGateway', - * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values - * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', - * 'VirtualAppliance', 'None' - * - * @param {string} [routeParameters.nextHopIpAddress] The IP address packets - * should be forwarded to. Next hop values are only allowed in routes where the - * next hop type is VirtualAppliance. - * - * @param {string} [routeParameters.provisioningState] The provisioning state - * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [routeParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [routeParameters.etag] A unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [routeParameters.id] Resource ID. + * @param {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 * @@ -24757,7 +26347,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24765,23 +26355,39 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Route} [result] - The deserialized result object if an error did not occur. - * See {@link Route} for more information. + * {RouteFilter} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilter} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Gets all routes in a route table. + * Creates or updates a route filter in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {string} [routeFilterParameters.id] Resource ID. + * + * @param {string} [routeFilterParameters.location] Resource location. + * + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -24790,17 +26396,33 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all routes in a route table. + * Creates or updates a route filter in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {string} [routeFilterParameters.id] Resource ID. + * + * @param {string} [routeFilterParameters.location] Resource location. + * + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -24814,7 +26436,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {RouteListResult} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24822,29 +26444,37 @@ export interface Routes { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteListResult} for more information. + * {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. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * BgpServiceCommunities - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface BgpServiceCommunities { + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the available bgp service communities. + * 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 update + * route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24853,14 +26483,31 @@ export interface BgpServiceCommunities { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the available bgp service communities. + * 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 update + * route filter operation. + * + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24874,7 +26521,7 @@ export interface BgpServiceCommunities { * * {Promise} A promise is returned. * - * @resolve {BgpServiceCommunityListResult} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24882,24 +26529,22 @@ export interface BgpServiceCommunities { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpServiceCommunityListResult} for more - * information. + * {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. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the available bgp service communities. + * Gets all route filters 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. * @@ -24908,17 +26553,16 @@ export interface BgpServiceCommunities { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the available bgp service communities. + * Gets all route filters 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. * @@ -24932,7 +26576,7 @@ export interface BgpServiceCommunities { * * {Promise} A promise is returned. * - * @resolve {BgpServiceCommunityListResult} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24940,35 +26584,20 @@ export interface BgpServiceCommunities { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpServiceCommunityListResult} for more - * information. + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * ServiceEndpointPolicies - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface ServiceEndpointPolicies { + 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. + * Gets all route filters in a subscription. * * @param {object} [options] Optional Parameters. * @@ -24977,19 +26606,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. */ - deleteMethodWithHttpOperationResponse(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. + * Gets all route filters in a subscription. * * @param {object} [options] Optional Parameters. * @@ -25003,7 +26627,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25011,52 +26635,47 @@ 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. + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, 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; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified service Endpoint Policies in a specified resource group. + * Deletes the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified service Endpoint Policies in a specified resource group. + * Deletes the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -25067,7 +26686,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25075,47 +26694,38 @@ 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. + * {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, 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; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service Endpoint Policies. + * Creates or updates a route filter in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to 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} routeFilterName The name of the route filter. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {string} [parameters.id] Resource ID. + * @param {string} [routeFilterParameters.id] Resource ID. * - * @param {string} [parameters.location] Resource location. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25124,41 +26734,33 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service Endpoint Policies. + * Creates or updates a route filter in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to 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} routeFilterName The name of the route filter. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {string} [parameters.id] Resource ID. + * @param {string} [routeFilterParameters.id] Resource ID. * - * @param {string} [parameters.location] Resource location. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25172,7 +26774,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25180,30 +26782,37 @@ 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. + * {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. */ - 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; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates service Endpoint Policies. + * Updates a route filter in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {object} [parameters.tags] Resource tags. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25212,24 +26821,31 @@ 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>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates service Endpoint Policies. + * Updates a route filter in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {object} [parameters.tags] Resource tags. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. + * + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. + * + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25243,7 +26859,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25251,20 +26867,23 @@ 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. + * {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. */ - 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; + beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the service endpoint policies in a subscription. + * Gets all route filters in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25273,14 +26892,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. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the service endpoint policies in a subscription. + * Gets all route filters in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25294,7 +26916,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25302,23 +26924,23 @@ 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. - * + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. + * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(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. + * Gets all route filters 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. * @@ -25327,16 +26949,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. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: 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. + * Gets all route filters 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. * @@ -25350,7 +26973,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25358,26 +26981,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. + * {RouteFilterListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * RouteFilterRules + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface RouteFilterRules { /** - * Deletes the specified service endpoint policy. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -25390,15 +27022,16 @@ export interface ServiceEndpointPolicies { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified service endpoint policy. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -25426,40 +27059,19 @@ export interface ServiceEndpointPolicies { * * {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; + deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service Endpoint Policies. + * Gets the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. - * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -25468,41 +27080,20 @@ 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>; + getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service Endpoint Policies. + * Gets the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. - * - * @param {object} parameters Parameters supplied to the create or update - * service endpoint policy operation. - * - * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of - * service endpoint policy definitions of the service endpoint policy. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * service endpoint policy resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * service endpoint policy. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -25516,7 +27107,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25524,30 +27115,44 @@ 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. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + get(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates service Endpoint Policies. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {string} ruleName The name of the route filter rule. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeFilterRuleParameters.location] Resource location. + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25556,24 +27161,38 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates service Endpoint Policies. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update service endpoint - * policy tags. + * @param {string} ruleName The name of the route filter rule. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeFilterRuleParameters.location] Resource location. + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25587,7 +27206,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicy} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25595,23 +27214,38 @@ 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. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the service endpoint policies in a subscription. + * Updates a route in the specified route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25620,17 +27254,32 @@ 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>; + updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the service endpoint policies in a subscription. + * Updates a route in the specified route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25644,7 +27293,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25652,24 +27301,24 @@ 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. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint Policies in a resource group. + * Gets all RouteFilterRules in a route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -25678,17 +27327,18 @@ export interface ServiceEndpointPolicies { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByRouteFilterWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint Policies in a resource group. + * Gets all RouteFilterRules in a route filter. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -25702,7 +27352,7 @@ export interface ServiceEndpointPolicies { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. + * @resolve {RouteFilterRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25710,38 +27360,27 @@ 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 + * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRuleListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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 { + listByRouteFilter(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -25754,18 +27393,16 @@ export interface ServiceEndpointPolicyDefinitions { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the Service Endpoint - * Policy. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition. + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -25793,22 +27430,37 @@ export interface ServiceEndpointPolicyDefinitions { * * {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; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Get the specified service endpoint policy definitions from service endpoint - * policy. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeFilterRuleParameters.location] Resource location. + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25817,23 +27469,38 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Get the specified service endpoint policy definitions from service endpoint - * policy. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} routeFilterName The name of the route filter. * - * @param {string} serviceEndpointPolicyDefinitionName The name of the service - * endpoint policy definition name. + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeFilterRuleParameters.location] Resource location. + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25847,7 +27514,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25855,55 +27522,38 @@ 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. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, 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; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. + * Updates a route in the specified route filter. * * @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 {string} routeFilterName The name of the route filter. * - * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of - * service resources. + * @param {string} ruleName The name of the route filter rule. * - * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The - * provisioning state of the service end point policy definition. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. * - * @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} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25912,48 +27562,32 @@ 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>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. + * Updates a route in the specified route filter. * * @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 {string} routeFilterName The name of the route filter. * - * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of - * service resources. + * @param {string} ruleName The name of the route filter rule. * - * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The - * provisioning state of the service end point policy definition. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. * - * @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} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' * - * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] * - * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -25967,7 +27601,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25975,26 +27609,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. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint policy definitions in a service end point policy. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all RouteFilterRules in a route filter. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26003,19 +27634,17 @@ export interface ServiceEndpointPolicyDefinitions { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByRouteFilterNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint policy definitions in a service end point policy. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all RouteFilterRules in a route filter. * - * @param {string} serviceEndpointPolicyName The name of the service endpoint - * policy name. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26029,7 +27658,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. + * @resolve {RouteFilterRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26037,29 +27666,34 @@ 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. + * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRuleListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + listByRouteFilterNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByRouteFilterNext(nextPageLink: string, callback: ServiceCallback): void; + listByRouteFilterNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * RouteTables + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface RouteTables { /** - * Deletes the specified ServiceEndpoint policy definitions. + * Deletes the specified route table. * * @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. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -26072,18 +27706,14 @@ export interface ServiceEndpointPolicyDefinitions { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified ServiceEndpoint policy definitions. + * Deletes the specified route table. * * @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. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -26111,100 +27741,44 @@ export interface ServiceEndpointPolicyDefinitions { * * {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; + deleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. + * Gets the specified route table. * * @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 {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @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>; + getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a service endpoint policy definition in the specified - * service endpoint policy. + * Gets the specified route table. * * @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 {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -26215,7 +27789,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26223,24 +27797,46 @@ 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. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + get(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeTableName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Create or updates a route table in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to the create or update route + * table operation. + * + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. + * + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {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. * @@ -26249,17 +27845,40 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all service endpoint policy definitions in a service end point policy. + * Create or updates a route table in a specified resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to the create or update route + * table operation. + * + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. + * + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {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. * @@ -26273,7 +27892,7 @@ export interface ServiceEndpointPolicyDefinitions { * * {Promise} A promise is returned. * - * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26281,32 +27900,28 @@ 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. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * Usages - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface Usages { + createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * List network usages for a subscription. + * Updates a route table tags. * - * @param {string} location The location where resource usage is queried. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -26315,16 +27930,22 @@ export interface Usages { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * List network usages for a subscription. + * Updates a route table tags. * - * @param {string} location The location where resource usage is queried. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -26338,7 +27959,7 @@ export interface Usages { * * {Promise} A promise is returned. * - * @resolve {UsagesListResult} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26346,23 +27967,22 @@ export interface Usages { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {UsagesListResult} [result] - The deserialized result object if an error did not occur. - * See {@link UsagesListResult} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * List network usages for a subscription. + * Gets all route tables 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. * @@ -26371,17 +27991,16 @@ export interface Usages { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * List network usages for a subscription. + * Gets all route tables 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. * @@ -26395,7 +28014,7 @@ export interface Usages { * * {Promise} A promise is returned. * - * @resolve {UsagesListResult} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26403,33 +28022,20 @@ export interface Usages { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {UsagesListResult} [result] - The deserialized result object if an error did not occur. - * See {@link UsagesListResult} for more information. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VirtualNetworks - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworks { + 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 virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. + * Gets all route tables in a subscription. * * @param {object} [options] Optional Parameters. * @@ -26438,18 +28044,14 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. + * Gets all route tables in a subscription. * * @param {object} [options] Optional Parameters. * @@ -26463,7 +28065,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26471,50 +28073,47 @@ 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. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, 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; + 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 by resource group. + * Deletes the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network by resource group. + * Deletes the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -26525,7 +28124,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. * @@ -26533,63 +28132,36 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a virtual network in the specified resource group. + * Create or updates a route table in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} 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 {string} routeTableName The name of the route table. * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * @param {object} parameters Parameters supplied to the create or update route + * table operation. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. * * @param {string} [parameters.provisioningState] The provisioning state of the - * 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. + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * * @param {string} [parameters.etag] Gets a unique read-only string that * changes whenever the resource is updated. @@ -26607,57 +28179,31 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network in the specified resource group. + * Create or updates a route table in a specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} 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 {string} routeTableName The name of the route table. * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * @param {object} parameters Parameters supplied to the create or update route + * table operation. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {array} [parameters.routes] Collection of routes contained within a + * route table. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets + * whether to disable the routes learned by BGP on that route table. True means + * disable. * * @param {string} [parameters.provisioningState] The provisioning state of the - * 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. + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * * @param {string} [parameters.etag] Gets a unique read-only string that * changes whenever the resource is updated. @@ -26680,7 +28226,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26688,27 +28234,26 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, 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; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a virtual network tags. + * Updates a route table tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * @param {object} parameters Parameters supplied to update route table tags. * * @param {object} [parameters.tags] Resource tags. * @@ -26719,21 +28264,20 @@ 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>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. + * Updates a route table tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * @param {object} parameters Parameters supplied to update route table tags. * * @param {object} [parameters.tags] Resource tags. * @@ -26749,7 +28293,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26757,20 +28301,23 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetwork} for more information. + * {RouteTable} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTable} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual networks in a subscription. + * Gets all route tables in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26779,14 +28326,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. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Gets all route tables in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26800,7 +28350,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26808,23 +28358,23 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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 virtual networks in a resource group. + * Gets all route tables 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. * @@ -26833,16 +28383,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. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a resource group. + * Gets all route tables 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. * @@ -26856,7 +28407,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26864,51 +28415,59 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(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; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * Routes + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface Routes { /** - * Checks whether a private IP address is available for use. + * Deletes the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * - * @param {object} [options] Optional Parameters. + * @param {string} routeName The name of the route. * - * @param {string} [options.ipAddress] The private IP address to be verified. + * @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. */ - checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Checks whether a private IP address is available for use. + * Deletes the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * - * @param {object} [options] Optional Parameters. + * @param {string} routeName The name of the route. * - * @param {string} [options.ipAddress] The private IP address to be verified. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -26920,7 +28479,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. * @@ -26928,25 +28487,25 @@ 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; + deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists usage stats. + * Gets the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. + * + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -26955,18 +28514,20 @@ 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>; + getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists usage stats. + * Gets the specified route from a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. + * + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -26980,7 +28541,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. + * @resolve {Route} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26988,25 +28549,54 @@ 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. + * {Route} [result] - The deserialized result object if an error did not occur. + * See {@link Route} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + get(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. + * + * @param {string} routeName The name of the route. + * + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. + * + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. + * + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' + * + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -27015,18 +28605,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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. + * + * @param {string} routeName The name of the route. + * + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. + * + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. + * + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' + * + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -27040,7 +28660,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {Route} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27048,139 +28668,107 @@ 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. + * {Route} [result] - The deserialized result object if an error did not occur. + * See {@link Route} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a virtual network in the specified resource group. + * Gets all routes in a route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {object} parameters Parameters supplied to the create or update - * virtual network operation - * - * @param {object} [parameters.addressSpace] The AddressSpace that contains an - * array of IP address ranges that can be used by subnets. - * - * @param {array} [parameters.addressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. + * @param {string} routeTableName The name of the route table. * - * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an - * array of DNS servers available to VMs deployed in the virtual network. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers - * IP addresses. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. + * @returns {Promise} A promise is returned * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all routes in a route table. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} resourceGroupName The name of the resource group. * - * @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} routeTableName The name of the route table. * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.etag] Gets 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} [parameters.id] Resource ID. + * {Promise} A promise is returned. * - * @param {string} [parameters.location] Resource location. + * @resolve {RouteListResult} - The deserialized result object. * - * @param {object} [parameters.tags] Resource tags. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [options] Optional Parameters. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @returns {Promise} A promise is returned + * {RouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteListResult} for more information. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @reject {Error|ServiceError} - The error object. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + list(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** - * Creates or updates a virtual network in the specified resource group. + * Deletes the specified route from a route table. * * @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} routeTableName The name of the route table. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} routeName The name of the route. * - * @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 {object} [options] Optional Parameters. * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @resolve {HttpOperationResponse} - 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. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified route from a route table. * - * @param {string} [parameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.location] Resource location. + * @param {string} routeTableName The name of the route table. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -27194,7 +28782,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. * @@ -27202,29 +28790,53 @@ 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. */ - 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; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, routeTableName: string, routeName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a virtual network tags. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * @param {string} routeName The name of the route. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. + * + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. + * + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' + * + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -27233,23 +28845,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. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. + * Creates or updates a route in the specified route table. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} routeTableName The name of the route table. * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * @param {string} routeName The name of the route. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. + * + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. + * + * @param {string} routeParameters.nextHopType The type of Azure hop the packet + * should be sent to. Possible values are: 'VirtualNetworkGateway', + * 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible values + * include: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + * 'VirtualAppliance', 'None' + * + * @param {string} [routeParameters.nextHopIpAddress] The IP address packets + * should be forwarded to. Next hop values are only allowed in routes where the + * next hop type is VirtualAppliance. + * + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [routeParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [routeParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -27263,7 +28900,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {Route} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27271,20 +28908,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. + * {Route} [result] - The deserialized result object if an error did not occur. + * See {@link Route} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual networks in a subscription. + * Gets all routes in a route table. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -27296,14 +28933,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. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Gets all routes in a route table. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -27320,7 +28957,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {RouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27328,24 +28965,29 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * {RouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * BgpServiceCommunities + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface BgpServiceCommunities { /** - * Gets all virtual networks in a resource group. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the available bgp service communities. * * @param {object} [options] Optional Parameters. * @@ -27354,17 +28996,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. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a resource group. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Gets all the available bgp service communities. * * @param {object} [options] Optional Parameters. * @@ -27378,7 +29017,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {BgpServiceCommunityListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27386,21 +29025,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 + * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpServiceCommunityListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists usage stats. + * Gets all the available bgp service communities. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -27412,14 +29051,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. */ - listUsageNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists usage stats. + * Gets all the available bgp service communities. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -27436,7 +29075,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. + * @resolve {BgpServiceCommunityListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27444,36 +29083,35 @@ 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 + * {BgpServiceCommunityListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpServiceCommunityListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + 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 - * Subnets + * ServiceEndpointPolicies * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface Subnets { +export interface ServiceEndpointPolicies { /** - * Deletes the specified subnet. + * 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} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -27486,16 +29124,15 @@ export interface Subnets { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified subnet. + * 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} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -27523,19 +29160,18 @@ 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; + 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 subnet by virtual network and 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} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -27546,20 +29182,19 @@ 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. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: 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 subnet by virtual network and 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} subnetName The name of the subnet. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -27575,7 +29210,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27583,105 +29218,47 @@ 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. + * {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, 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; + 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 subnet in the specified virtual network. + * 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} subnetName The name of the subnet. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. - * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. - * - * @param {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. - * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. - * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. - * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. - * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.routeTable.id] Resource ID. - * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @param {string} [parameters.etag] 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. * @@ -27690,99 +29267,41 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a subnet in the specified virtual network. + * 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} subnetName The name of the subnet. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. - * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. - * - * @param {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. - * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. - * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. - * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. - * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.routeTable.id] Resource ID. - * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @param {string} [parameters.etag] 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. * @@ -27796,7 +29315,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27804,24 +29323,30 @@ 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. + * {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, 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; + 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; /** - * Gets all subnets in a 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. * @@ -27830,18 +29355,24 @@ 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>; + updateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all subnets in a 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. * @@ -27855,7 +29386,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {SubnetListResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27863,26 +29394,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. + * {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. */ - 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; + 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; /** - * Deletes the specified subnet. - * - * @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. + * Gets all the service endpoint policies in a subscription. * * @param {object} [options] Optional Parameters. * @@ -27891,20 +29416,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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified subnet. - * - * @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. + * Gets all the service endpoint policies in a subscription. * * @param {object} [options] Optional Parameters. * @@ -27918,7 +29437,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27926,105 +29445,24 @@ 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. + * {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. */ - 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; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a subnet in the specified virtual network. + * Gets all service endpoint Policies in a 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 {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. - * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. - * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. - * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. - * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.routeTable.id] Resource ID. - * - * @param {string} [subnetParameters.routeTable.location] Resource location. - * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. - * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. - * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. - * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. - * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [subnetParameters.id] Resource ID. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -28032,100 +29470,17 @@ 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>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a subnet in the specified virtual network. + * Gets all service endpoint Policies in a 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 {array} [subnetParameters.addressPrefixes] List of address prefixes - * for the subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. - * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. - * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. - * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. - * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.routeTable.id] Resource ID. - * - * @param {string} [subnetParameters.routeTable.location] Resource location. - * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. - * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. - * - * @param {array} [subnetParameters.serviceEndpointPolicies] An array of - * service endpoint policies. - * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. - * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [subnetParameters.id] Resource ID. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -28138,7 +29493,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28146,23 +29501,26 @@ 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. + * {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, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all subnets in a virtual network. + * Deletes the specified 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 {object} [options] Optional Parameters. * @@ -28171,17 +29529,19 @@ export interface Subnets { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all subnets in a virtual network. + * Deletes 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 {object} [options] Optional Parameters. * @@ -28195,7 +29555,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. * @@ -28203,36 +29563,46 @@ export interface Subnets { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SubnetListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SubnetListResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VirtualNetworkPeerings - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworkPeerings { + beginDeleteMethod(resourceGroupName: string, 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; /** - * Deletes the specified virtual network peering. + * 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 {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @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. * @@ -28241,21 +29611,41 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network peering. + * 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 {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @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. * @@ -28269,7 +29659,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28277,26 +29667,30 @@ 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. + * {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. */ - 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; + 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; /** - * Gets the specified virtual network peering. + * 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 {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28305,21 +29699,24 @@ 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>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network peering. + * 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 {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28333,7 +29730,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28341,81 +29738,81 @@ 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. + * {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, 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; + 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 peering in the specified virtual network. + * Gets all the service endpoint policies 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 {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. + * @returns {Promise} A promise is returned * - * @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. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. + * @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 {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @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} [options] Optional Parameters. * - * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The - * reference of the remote virtual network. The remote virtual network can be - * in the same or different region (preview). See here to register for the - * preview and learn more - * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * {Promise} A promise is returned. * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @reject {Error|ServiceError} - The error object. * - * @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. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * {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. * @@ -28424,134 +29821,5055 @@ 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. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a peering in the specified virtual network. + * Gets all service endpoint Policies 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 {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 {ServiceEndpointPolicyListResult} - 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. + * + * {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. + */ + 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 { + + + /** + * Deletes the specified ServiceEndpoint policy definitions. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. + * + * @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, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified ServiceEndpoint policy definitions. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. + * + * @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, 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 the specified service endpoint policy definitions from service endpoint + * policy. + * + * @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. + * + * @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, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Get the specified service endpoint policy definitions from service endpoint + * policy. + * + * @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. + * + * @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 {ServiceEndpointPolicyDefinition} - 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. + * + * {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, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. + * + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. + * + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. + * + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. + * + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. + * + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @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. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. + * + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. + * + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. + * + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. + * + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. + * + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {ServiceEndpointPolicyDefinition} - 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. + * + * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinition} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all service endpoint policy definitions in a service end point policy. + * + * @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. + * + * @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. + */ + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all service endpoint policy definitions in a service end point policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy 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 {ServiceEndpointPolicyDefinitionListResult} - 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. + * + * {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. + */ + 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 ServiceEndpoint policy definitions. + * + * @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. + * + * @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, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified ServiceEndpoint policy definitions. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. + * + * @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, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. + * + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. + * + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. + * + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. + * + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. + * + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @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. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. + * + * @param {object} serviceEndpointPolicyDefinitions Parameters supplied to the + * create or update service endpoint policy operation. + * + * @param {string} [serviceEndpointPolicyDefinitions.description] A description + * for this rule. Restricted to 140 chars. + * + * @param {string} [serviceEndpointPolicyDefinitions.service] service endpoint + * name. + * + * @param {array} [serviceEndpointPolicyDefinitions.serviceResources] A list of + * service resources. + * + * @param {string} [serviceEndpointPolicyDefinitions.provisioningState] The + * provisioning state of the service end point policy definition. Possible + * values are: 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [serviceEndpointPolicyDefinitions.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [serviceEndpointPolicyDefinitions.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [serviceEndpointPolicyDefinitions.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {ServiceEndpointPolicyDefinition} - 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. + * + * {ServiceEndpointPolicyDefinition} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinition} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all service endpoint policy definitions in a service end point policy. + * + * @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. + */ + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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 {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 {ServiceEndpointPolicyDefinitionListResult} - 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. + * + * {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. + */ + 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} 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 + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworks { + + + /** + * Deletes the specified 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 + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified 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 + * 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, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the specified virtual network by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [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, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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 {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 {VirtualNetwork} - 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. + * + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, 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 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. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, 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. + * + * @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 {VirtualNetwork} - 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. + * + * {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. + */ + 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; + + + /** + * Updates a virtual network tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @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>; + + /** + * Updates a virtual network tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 {VirtualNetwork} - 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. + * + * {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. + */ + 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; + + + /** + * Gets all virtual networks in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all virtual networks in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {VirtualNetworkListResult} - 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. + * + * {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. + */ + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all virtual networks in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all virtual networks in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {VirtualNetworkListResult} - 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. + * + * {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. + */ + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Checks whether a private IP address is available for use. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.ipAddress] The private IP address to be verified. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Checks whether a private IP address is available for use. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.ipAddress] The private IP address to be verified. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @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 {IPAddressAvailabilityResult} - 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. + * + * {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. + */ + 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; + + + /** + * Lists usage stats. + * + * @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 + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listUsageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists usage stats. + * + * @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 + * 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 {VirtualNetworkListUsageResult} - 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. + * + * {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. + */ + 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. + * + * @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 + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified 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 + * 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, 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 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. + * + * @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, virtualNetworkName: string, parameters: models.VirtualNetwork, 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. + * + * @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 {VirtualNetwork} - 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. + * + * {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, 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; + + + /** + * Updates a virtual network tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @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>; + + /** + * Updates a virtual network tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 {VirtualNetwork} - 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. + * + * {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. + */ + 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; + + + /** + * Gets all virtual networks 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 virtual networks 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 {VirtualNetworkListResult} - 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. + * + * {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. + */ + 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 {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 networks 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 {VirtualNetworkListResult} - 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. + * + * {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. + */ + 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} 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. + */ + listUsageNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists usage stats. + * + * @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 {VirtualNetworkListUsageResult} - 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. + * + * {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. + */ + listUsageNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listUsageNext(nextPageLink: string, callback: ServiceCallback): void; + listUsageNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * Subnets + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface Subnets { + + + /** + * Deletes the specified subnet. + * + * @param {string} 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 {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, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified subnet. + * + * @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 {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, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the specified subnet by virtual network and resource group. + * + * @param {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. + * + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified subnet by virtual network and resource group. + * + * @param {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 + * + * @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 {Subnet} - 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. + * + * {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. + */ + 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; + + + /** + * Creates or updates a subnet in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. + * + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. + * + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. + * + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. + * + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. + * + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. + * + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a subnet in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. + * + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. + * + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. + * + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. + * + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. + * + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. + * + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @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 {Subnet} - 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. + * + * {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. + */ + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all subnets in a virtual network. + * + * @param {string} 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 + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all subnets in a virtual network. + * + * @param {string} 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 + * 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 {SubnetListResult} - 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. + * + * {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, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified subnet. + * + * @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 {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, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified subnet. + * + * @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 {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, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a subnet in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. + * + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. + * + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. + * + * @param {array} [subnetParameters.addressPrefixes] List of address prefixes + * for the subnet. + * + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. + * + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. + * + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a subnet in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. + * + * @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.interfaceEndpoints] An array of references + * to interface endpoints + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @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 {Subnet} - 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. + * + * {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. + */ + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all subnets in a virtual network. + * + * @param {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 subnets in a virtual network. + * + * @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 {SubnetListResult} - 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. + * + * {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. + */ + 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 { + + + /** + * Deletes the specified virtual network peering. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @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>; + + /** + * Deletes the specified virtual network peering. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the specified virtual network peering. + * + * @param {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 + * request + * + * @returns {Promise} A promise is returned + * + * @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>; + + /** + * Gets the specified virtual network peering. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. + * + * @param {object} [options] Optional Parameters. + * + * @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 {VirtualNetworkPeering} - 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. + * + * {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. + */ + get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a peering in the specified virtual network. + * + * @param {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 {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a peering in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the peering. + * + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] + * Whether the VMs in the linked virtual network space would be able to access + * all the VMs in local Virtual network space. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. + * + * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If + * remote gateways can be used on this virtual network. If the flag is set to + * true, and allowGatewayTransit on remote peering is also true, virtual + * network will use gateways of remote virtual network for transit. Only one + * peering can have this flag set to true. This flag cannot be set if virtual + * network already has a gateway. + * + * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The + * reference of the remote virtual network. The remote virtual network can be + * in the same or different region (preview). See here to register for the + * preview and learn more + * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + * + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. + * + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. + * + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' + * + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. + * + * @param {string} [virtualNetworkPeeringParameters.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {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 {VirtualNetworkPeering} - 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. + * + * {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. + */ + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all virtual network peerings in a virtual network. + * + * @param {string} 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 + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all virtual network peerings in a virtual network. + * + * @param {string} 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 + * 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 {VirtualNetworkPeeringListResult} - 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. + * + * {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. + */ + list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified virtual network peering. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified virtual network peering. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the virtual network + * peering. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a peering in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the peering. + * + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] + * Whether the VMs in the linked virtual network space would be able to access + * all the VMs in local Virtual network space. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. + * + * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If + * remote gateways can be used on this virtual network. If the flag is set to + * true, and allowGatewayTransit on remote peering is also true, virtual + * network will use gateways of remote virtual network for transit. Only one + * peering can have this flag set to true. This flag cannot be set if virtual + * network already has a gateway. + * + * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The + * reference of the remote virtual network. The remote virtual network can be + * in the same or different region (preview). See here to register for the + * preview and learn more + * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + * + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. + * + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. + * + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' + * + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. + * + * @param {string} [virtualNetworkPeeringParameters.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a peering in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} virtualNetworkPeeringName The name of the peering. + * + * @param {object} virtualNetworkPeeringParameters Parameters supplied to the + * create or update virtual network peering operation. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] + * Whether the VMs in the linked virtual network space would be able to access + * all the VMs in local Virtual network space. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] + * Whether the forwarded traffic from the VMs in the remote virtual network + * will be allowed/disallowed. + * + * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If + * gateway links can be used in remote virtual networking to link to this + * virtual network. + * + * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If + * remote gateways can be used on this virtual network. If the flag is set to + * true, and allowGatewayTransit on remote peering is also true, virtual + * network will use gateways of remote virtual network for transit. Only one + * peering can have this flag set to true. This flag cannot be set if virtual + * network already has a gateway. + * + * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The + * reference of the remote virtual network. The remote virtual network can be + * in the same or different region (preview). See here to register for the + * preview and learn more + * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + * + * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] + * Resource ID. + * + * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The + * reference of the remote virtual network address space. + * + * @param {array} + * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of + * the virtual network peering. Possible values are 'Initiated', 'Connected', + * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', + * 'Disconnected' + * + * @param {string} [virtualNetworkPeeringParameters.provisioningState] The + * provisioning state of the resource. + * + * @param {string} [virtualNetworkPeeringParameters.name] The name of the + * resource that is unique within a resource group. This name can be used to + * access the resource. + * + * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {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 {VirtualNetworkPeering} - 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. + * + * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkPeering} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, 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; + + + /** + * Gets all virtual network peerings in a virtual network. + * + * @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 peerings in a virtual network. + * + * @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 {VirtualNetworkPeeringListResult} - 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. + * + * {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. + */ + 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 {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|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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 {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, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, tapName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, tapName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets 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|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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 {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. + */ + 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.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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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. + */ + 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 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|ServiceError} - The error object. + */ + updateTagsWithHttpOperationResponse(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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 {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. + */ + updateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {VirtualNetworkTapListResult} - 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. + * + * {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. + */ + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all the VirtualNetworkTaps in a subscription. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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 {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 {VirtualNetworkTapListResult} - 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. + * + * {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. + */ + 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 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|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, tapName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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 {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, 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; + + + /** + * 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} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.tags] + * Resource tags. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] + * The reference of the RouteTable resource. * * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * [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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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 {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. * - * @param {string} [virtualNetworkPeeringParameters.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {number} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. * - * {Promise} A promise is returned. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. * - * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeering} for more information. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets all virtual network peerings in a virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.name] The name of + * the resource that is unique within a resource group. This name can be used + * to access the resource. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * - * @returns {Promise} A promise is returned + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.id] Resource ID. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {number} [parameters.destinationPort] The VXLAN destination port that + * will receive the tapped traffic. * - * @reject {Error|ServiceError} - The error object. - */ - listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets all virtual network peerings in a virtual network. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.id] Resource ID. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28565,7 +34883,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28573,28 +34891,29 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkPeeringListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeeringListResult} for more - * information. + * {VirtualNetworkTap} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, tapName: string, parameters: models.VirtualNetworkTap, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network peering. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the tap. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28603,21 +34922,23 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network peering. + * Updates an VirtualNetworkTap tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} tapName The name of the tap. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {object} tapParameters Parameters supplied to update + * VirtualNetworkTap tags. + * + * @param {object} [tapParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28631,7 +34952,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkTap} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28639,80 +34960,23 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkTap} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTap} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, tapName: string, tapParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a peering in the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {string} virtualNetworkPeeringName The name of the peering. - * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] - * Whether the VMs in the linked virtual network space would be able to access - * all the VMs in local Virtual network space. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. - * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. - * - * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The - * reference of the remote virtual network. The remote virtual network can be - * in the same or different region (preview). See here to register for the - * preview and learn more - * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. - * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. - * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' - * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. - * - * @param {string} [virtualNetworkPeeringParameters.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. - * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28721,75 +34985,17 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a peering in the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {string} virtualNetworkPeeringName The name of the peering. - * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowVirtualNetworkAccess] - * Whether the VMs in the linked virtual network space would be able to access - * all the VMs in local Virtual network space. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. - * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. - * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. - * - * @param {object} [virtualNetworkPeeringParameters.remoteVirtualNetwork] The - * reference of the remote virtual network. The remote virtual network can be - * in the same or different region (preview). See here to register for the - * preview and learn more - * (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). - * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. - * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. - * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' - * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. - * - * @param {string} [virtualNetworkPeeringParameters.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only - * string that changes whenever the resource is updated. + * Gets all the VirtualNetworkTaps in a subscription. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28803,7 +35009,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28811,20 +35017,21 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeering} for more information. + * {VirtualNetworkTapListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAllNext(nextPageLink: string, callback: ServiceCallback): void; + listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual network peerings in a virtual network. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -28836,14 +35043,14 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network peerings in a virtual network. + * Gets all the VirtualNetworkTaps in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -28860,7 +35067,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {VirtualNetworkTapListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28868,17 +35075,17 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkPeeringListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeeringListResult} for more + * {VirtualNetworkTapListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkTapListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** diff --git a/lib/services/networkManagement2/lib/operations/index.js b/lib/services/networkManagement2/lib/operations/index.js index 466ad65547..1487256c96 100644 --- a/lib/services/networkManagement2/lib/operations/index.js +++ b/lib/services/networkManagement2/lib/operations/index.js @@ -16,7 +16,10 @@ exports.ApplicationGateways = require('./applicationGateways'); exports.ApplicationSecurityGroups = require('./applicationSecurityGroups'); +exports.AvailableDelegations = require('./availableDelegations'); +exports.AvailableResourceGroupDelegations = require('./availableResourceGroupDelegations'); exports.AzureFirewalls = require('./azureFirewalls'); +exports.AzureFirewallFqdnTags = require('./azureFirewallFqdnTags'); exports.DdosProtectionPlans = require('./ddosProtectionPlans'); exports.AvailableEndpointServices = require('./availableEndpointServices'); exports.ExpressRouteCircuitAuthorizations = require('./expressRouteCircuitAuthorizations'); @@ -26,6 +29,9 @@ exports.ExpressRouteCircuits = require('./expressRouteCircuits'); exports.ExpressRouteServiceProviders = require('./expressRouteServiceProviders'); exports.ExpressRouteCrossConnections = require('./expressRouteCrossConnections'); exports.ExpressRouteCrossConnectionPeerings = require('./expressRouteCrossConnectionPeerings'); +exports.ExpressRouteGateways = require('./expressRouteGateways'); +exports.ExpressRouteConnections = require('./expressRouteConnections'); +exports.InterfaceEndpoints = require('./interfaceEndpoints'); exports.LoadBalancers = require('./loadBalancers'); exports.LoadBalancerBackendAddressPools = require('./loadBalancerBackendAddressPools'); exports.LoadBalancerFrontendIPConfigurations = require('./loadBalancerFrontendIPConfigurations'); @@ -36,6 +42,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'); @@ -56,6 +63,7 @@ exports.Usages = require('./usages'); exports.VirtualNetworks = require('./virtualNetworks'); exports.Subnets = require('./subnets'); exports.VirtualNetworkPeerings = require('./virtualNetworkPeerings'); +exports.VirtualNetworkTaps = require('./virtualNetworkTaps'); exports.VirtualNetworkGateways = require('./virtualNetworkGateways'); exports.VirtualNetworkGatewayConnections = require('./virtualNetworkGatewayConnections'); exports.LocalNetworkGateways = require('./localNetworkGateways'); diff --git a/lib/services/networkManagement2/lib/operations/interfaceEndpoints.js b/lib/services/networkManagement2/lib/operations/interfaceEndpoints.js new file mode 100644 index 0000000000..c15c167cbb --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/interfaceEndpoints.js @@ -0,0 +1,2097 @@ +/* + * 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 interface endpoint. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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, interfaceEndpointName, 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, interfaceEndpointName, 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 the specified interface endpoint by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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 {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 InterfaceEndpoint} 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, interfaceEndpointName, 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 expand = (options && options.expand !== undefined) ? options.expand : undefined; + 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 (interfaceEndpointName === null || interfaceEndpointName === undefined || typeof interfaceEndpointName.valueOf() !== 'string') { + throw new Error('interfaceEndpointName 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 (expand !== null && expand !== undefined && typeof expand.valueOf() !== 'string') { + throw new Error('expand 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/interfaceEndpoints/{interfaceEndpointName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{interfaceEndpointName}', encodeURIComponent(interfaceEndpointName)); + requestUrl = requestUrl.replace('{subscriptionId}', encodeURIComponent(this.client.subscriptionId)); + let queryParameters = []; + queryParameters.push('api-version=' + encodeURIComponent(apiVersion)); + if (expand !== null && expand !== undefined) { + queryParameters.push('$expand=' + encodeURIComponent(expand)); + } + 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['InterfaceEndpoint']().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 an interface endpoint in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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 InterfaceEndpoint} 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, interfaceEndpointName, 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, interfaceEndpointName, 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['InterfaceEndpoint']().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 interface endpoints in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 InterfaceEndpointListResult} 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, 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/interfaceEndpoints'; + 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['InterfaceEndpointListResult']().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 interface endpoints 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 InterfaceEndpointListResult} 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 _listBySubscription(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/interfaceEndpoints'; + 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['InterfaceEndpointListResult']().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 interface endpoint. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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, interfaceEndpointName, 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 (interfaceEndpointName === null || interfaceEndpointName === undefined || typeof interfaceEndpointName.valueOf() !== 'string') { + throw new Error('interfaceEndpointName 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/interfaceEndpoints/{interfaceEndpointName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{interfaceEndpointName}', encodeURIComponent(interfaceEndpointName)); + 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 an interface endpoint in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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 InterfaceEndpoint} 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, interfaceEndpointName, 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 (interfaceEndpointName === null || interfaceEndpointName === undefined || typeof interfaceEndpointName.valueOf() !== 'string') { + throw new Error('interfaceEndpointName 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/interfaceEndpoints/{interfaceEndpointName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{interfaceEndpointName}', encodeURIComponent(interfaceEndpointName)); + 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['InterfaceEndpoint']().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['InterfaceEndpoint']().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['InterfaceEndpoint']().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); + }); +} + +/** + * Gets all interface endpoints 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 {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 InterfaceEndpointListResult} 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['InterfaceEndpointListResult']().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 interface endpoints 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 InterfaceEndpointListResult} 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 _listBySubscriptionNext(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['InterfaceEndpointListResult']().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 InterfaceEndpoints. */ +class InterfaceEndpoints { + /** + * Create a InterfaceEndpoints. + * @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._listBySubscription = _listBySubscription; + this._beginDeleteMethod = _beginDeleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._listNext = _listNext; + this._listBySubscriptionNext = _listBySubscriptionNext; + } + + /** + * Deletes the specified interface endpoint. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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, interfaceEndpointName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, interfaceEndpointName, 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 interface endpoint. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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, interfaceEndpointName, 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, interfaceEndpointName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, interfaceEndpointName, options, optionalCallback); + } + } + + /** + * Gets the specified interface endpoint by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName, interfaceEndpointName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, interfaceEndpointName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets the specified interface endpoint by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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 {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 {InterfaceEndpoint} - 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 InterfaceEndpoint} 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, interfaceEndpointName, 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, interfaceEndpointName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, interfaceEndpointName, options, optionalCallback); + } + } + + /** + * Creates or updates an interface endpoint in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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, interfaceEndpointName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, interfaceEndpointName, 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 an interface endpoint in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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 {InterfaceEndpoint} - 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 InterfaceEndpoint} 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, interfaceEndpointName, 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, interfaceEndpointName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, interfaceEndpointName, parameters, options, optionalCallback); + } + } + + /** + * Gets all interface endpoints in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._list(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 interface endpoints in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {InterfaceEndpointListResult} - 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 InterfaceEndpointListResult} 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, 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, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._list(resourceGroupName, options, optionalCallback); + } + } + + /** + * Gets all interface endpoints 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. + */ + listBySubscriptionWithHttpOperationResponse(options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listBySubscription(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 interface endpoints 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 {InterfaceEndpointListResult} - 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 InterfaceEndpointListResult} 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. + */ + listBySubscription(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._listBySubscription(options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listBySubscription(options, optionalCallback); + } + } + + /** + * Deletes the specified interface endpoint. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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, interfaceEndpointName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, interfaceEndpointName, 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 interface endpoint. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @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, interfaceEndpointName, 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, interfaceEndpointName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, interfaceEndpointName, options, optionalCallback); + } + } + + /** + * Creates or updates an interface endpoint in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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, interfaceEndpointName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, interfaceEndpointName, 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 an interface endpoint in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} interfaceEndpointName The name of the interface endpoint. + * + * @param {object} parameters Parameters supplied to the create or update + * interface endpoint operation + * + * @param {string} [parameters.fqdn] A first-party service's FQDN that is + * mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.endpointService] A reference to the service + * being brought into the virtual network. + * + * @param {string} [parameters.endpointService.id] A unique identifier of the + * service being referenced by the interface endpoint. + * + * @param {object} [parameters.subnet] The ID of the subnet from which the + * private IP will be allocated. + * + * @param {string} [parameters.subnet.id] Resource ID. + * + * @param {array} [parameters.networkInterfaces] Gets an array of references to + * the network interfaces created for this interface endpoint. + * + * @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 {InterfaceEndpoint} - 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 InterfaceEndpoint} 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, interfaceEndpointName, 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, interfaceEndpointName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, interfaceEndpointName, parameters, options, optionalCallback); + } + } + + /** + * Gets all interface endpoints 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} - 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; + }); + }); + } + + /** + * Gets all interface endpoints 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 {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 {InterfaceEndpointListResult} - 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 InterfaceEndpointListResult} 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); + } + } + + /** + * Gets all interface endpoints 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. + */ + listBySubscriptionNextWithHttpOperationResponse(nextPageLink, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listBySubscriptionNext(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 interface endpoints 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 {InterfaceEndpointListResult} - 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 InterfaceEndpointListResult} 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. + */ + listBySubscriptionNext(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._listBySubscriptionNext(nextPageLink, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listBySubscriptionNext(nextPageLink, options, optionalCallback); + } + } + +} + +module.exports = InterfaceEndpoints; diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js b/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js new file mode 100644 index 0000000000..2dcdbaba2f --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js @@ -0,0 +1,3744 @@ +/* + * 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the subnet. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] + * The provisioning state of the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.id] + * Resource ID. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] + * The reference of the Public IP resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] + * The public IP address SKU. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] + * Name of a public IP address SKU. Possible values include: 'Basic', + * 'Standard' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] + * The public IP allocation method. Possible values are: 'Static' and + * 'Dynamic'. Possible values include: 'Static', 'Dynamic' + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] + * The FQDN of the DNS record associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] + * Gets or sets the Domain name label.The concatenation of the domain name + * label and the regionalized DNS zone make up the fully qualified domain name + * associated with the public IP address. If a domain name label is specified, + * an A DNS record is created for the public IP in the Microsoft Azure DNS + * system. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] + * Gets the FQDN, Fully qualified domain name of the A DNS record associated + * with the public IP. This is the concatenation of the domainNameLabel and the + * regionalized DNS zone. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name + * that resolves to this public IP address. If the reverseFqdn is specified, + * then a PTR DNS record is created pointing from the IP address in the + * in-addr.arpa domain to the reverse FQDN. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] + * The list of tags associated with the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] + * The IP address associated with the public IP address resource. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] + * The Public IP Prefix this Public IP Address should be allocated from. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] + * The idle timeout of the public IP address. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] + * The resource GUID property of the public IP resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] + * The provisioning state of the PublicIP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.location] + * Resource location. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.tags] + * Resource tags. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] + * The reference of the Public IP Prefix resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] + * Resource ID. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] + * Gets the provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] + * The name of the resource that is unique within a resource group. This name + * can be used to access the resource. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] + * A unique read-only string that changes whenever the resource is updated. + * + * @param {array} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] + * A list of availability zones denoting the IP allocated for the resource + * needs to come from. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.id] + * Resource ID. + * + * @param {number} + * [tapConfigurationParameters.virtualNetworkTap.destinationPort] The VXLAN + * destination port that will receive the tapped traffic. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.etag] Gets a + * unique read-only string that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.id] Resource + * ID. + * + * @param {string} [tapConfigurationParameters.virtualNetworkTap.location] + * Resource location. + * + * @param {object} [tapConfigurationParameters.virtualNetworkTap.tags] Resource + * tags. + * + * @param {string} [tapConfigurationParameters.name] The name of the resource + * that is unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [tapConfigurationParameters.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {string} [tapConfigurationParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {NetworkInterfaceTapConfiguration} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfiguration} for more + * information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters, options, optionalCallback); + } + } + + /** + * Get all Tap configurations in a network interface + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listNext(nextPageLink, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Get all Tap configurations in a network interface + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {function} [optionalCallback] - The optional callback. + * + * @returns {function|Promise} If a callback was passed as the last parameter + * then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned + * + * @resolve {NetworkInterfaceTapConfigurationListResult} - The deserialized result object. + * + * @reject {Error} - The error object. + * + * {function} optionalCallback(err, result, request, response) + * + * {Error} err - The Error object if an error occurred, null otherwise. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link NetworkInterfaceTapConfigurationListResult} + * for more information. + * + * {object} [request] - The HTTP Request object if an error did not occur. + * + * {stream} [response] - The HTTP Response stream if an error did not occur. + */ + listNext(nextPageLink, options, optionalCallback) { + let client = this.client; + let self = this; + if (!optionalCallback && typeof options === 'function') { + optionalCallback = options; + options = null; + } + if (!optionalCallback) { + return new Promise((resolve, reject) => { + self._listNext(nextPageLink, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listNext(nextPageLink, options, optionalCallback); + } + } + +} + +module.exports = NetworkInterfaceTapConfigurations; diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaces.js b/lib/services/networkManagement2/lib/operations/networkInterfaces.js index d9d92527c4..06ae396e29 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaces.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaces.js @@ -243,8 +243,6 @@ function _get(resourceGroupName, networkInterfaceName, options, callback) { * @param {object} [parameters.virtualMachine] The reference of a virtual * machine. * - * @param {string} [parameters.virtualMachine.id] Resource ID. - * * @param {object} [parameters.networkSecurityGroup] The reference of the * NetworkSecurityGroup resource. * @@ -271,6 +269,36 @@ function _get(resourceGroupName, networkInterfaceName, options, callback) { * * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. + * + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. + * + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. + * + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. + * + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. + * + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. + * + * @param {string} [parameters.interfaceEndpoint.location] Resource location. + * + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of * the network interface. * @@ -312,6 +340,9 @@ function _get(resourceGroupName, networkInterfaceName, options, callback) { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -1849,8 +1880,6 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, options, ca * @param {object} [parameters.virtualMachine] The reference of a virtual * machine. * - * @param {string} [parameters.virtualMachine.id] Resource ID. - * * @param {object} [parameters.networkSecurityGroup] The reference of the * NetworkSecurityGroup resource. * @@ -1877,6 +1906,36 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, options, ca * * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. + * + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. + * + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. + * + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. + * + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. + * + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. + * + * @param {string} [parameters.interfaceEndpoint.location] Resource location. + * + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of * the network interface. * @@ -1918,6 +1977,9 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, options, ca * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -3420,8 +3482,6 @@ class NetworkInterfaces { * @param {object} [parameters.virtualMachine] The reference of a virtual * machine. * - * @param {string} [parameters.virtualMachine.id] Resource ID. - * * @param {object} [parameters.networkSecurityGroup] The reference of the * NetworkSecurityGroup resource. * @@ -3448,6 +3508,36 @@ class NetworkInterfaces { * * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. + * + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. + * + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. + * + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. + * + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. + * + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. + * + * @param {string} [parameters.interfaceEndpoint.location] Resource location. + * + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of * the network interface. * @@ -3489,6 +3579,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -3543,8 +3636,6 @@ class NetworkInterfaces { * @param {object} [parameters.virtualMachine] The reference of a virtual * machine. * - * @param {string} [parameters.virtualMachine.id] Resource ID. - * * @param {object} [parameters.networkSecurityGroup] The reference of the * NetworkSecurityGroup resource. * @@ -3571,6 +3662,36 @@ class NetworkInterfaces { * * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. + * + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. + * + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. + * + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. + * + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. + * + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. + * + * @param {string} [parameters.interfaceEndpoint.location] Resource location. + * + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of * the network interface. * @@ -3612,6 +3733,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -4699,8 +4823,6 @@ class NetworkInterfaces { * @param {object} [parameters.virtualMachine] The reference of a virtual * machine. * - * @param {string} [parameters.virtualMachine.id] Resource ID. - * * @param {object} [parameters.networkSecurityGroup] The reference of the * NetworkSecurityGroup resource. * @@ -4727,6 +4849,36 @@ class NetworkInterfaces { * * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. + * + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. + * + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. + * + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. + * + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. + * + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. + * + * @param {string} [parameters.interfaceEndpoint.location] Resource location. + * + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of * the network interface. * @@ -4768,6 +4920,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * @@ -4822,8 +4977,6 @@ class NetworkInterfaces { * @param {object} [parameters.virtualMachine] The reference of a virtual * machine. * - * @param {string} [parameters.virtualMachine.id] Resource ID. - * * @param {object} [parameters.networkSecurityGroup] The reference of the * NetworkSecurityGroup resource. * @@ -4850,6 +5003,36 @@ class NetworkInterfaces { * * @param {object} [parameters.networkSecurityGroup.tags] Resource tags. * + * @param {object} [parameters.interfaceEndpoint] A reference to the interface + * endpoint to which the network interface is linked. + * + * @param {string} [parameters.interfaceEndpoint.fqdn] A first-party service's + * FQDN that is mapped to the private IP allocated via this interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.endpointService] A reference + * to the service being brought into the virtual network. + * + * @param {string} [parameters.interfaceEndpoint.endpointService.id] A unique + * identifier of the service being referenced by the interface endpoint. + * + * @param {object} [parameters.interfaceEndpoint.subnet] The ID of the subnet + * from which the private IP will be allocated. + * + * @param {string} [parameters.interfaceEndpoint.subnet.id] Resource ID. + * + * @param {array} [parameters.interfaceEndpoint.networkInterfaces] Gets an + * array of references to the network interfaces created for this interface + * endpoint. + * + * @param {string} [parameters.interfaceEndpoint.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [parameters.interfaceEndpoint.id] Resource ID. + * + * @param {string} [parameters.interfaceEndpoint.location] Resource location. + * + * @param {object} [parameters.interfaceEndpoint.tags] Resource tags. + * * @param {array} [parameters.ipConfigurations] A list of IPConfigurations of * the network interface. * @@ -4891,6 +5074,9 @@ class NetworkInterfaces { * @param {boolean} [parameters.enableIPForwarding] Indicates whether IP * forwarding is enabled on this network interface. * + * @param {string} [parameters.linkedResourceType] The type of resource to be + * linked to this network interface + * * @param {string} [parameters.resourceGuid] The resource GUID property of the * network interface resource. * diff --git a/lib/services/networkManagement2/lib/operations/subnets.js b/lib/services/networkManagement2/lib/operations/subnets.js index 0cf5240587..80d416e78c 100644 --- a/lib/services/networkManagement2/lib/operations/subnets.js +++ b/lib/services/networkManagement2/lib/operations/subnets.js @@ -311,9 +311,15 @@ function _get(resourceGroupName, virtualNetworkName, subnetName, options, callba * @param {array} [subnetParameters.serviceEndpointPolicies] An array of * service endpoint policies. * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of * references to the external resources using subnet. * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * * @param {string} [subnetParameters.provisioningState] The provisioning state * of the resource. * @@ -743,9 +749,15 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, subnetName, o * @param {array} [subnetParameters.serviceEndpointPolicies] An array of * service endpoint policies. * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of * references to the external resources using subnet. * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * * @param {string} [subnetParameters.provisioningState] The provisioning state * of the resource. * @@ -1332,9 +1344,15 @@ class Subnets { * @param {array} [subnetParameters.serviceEndpointPolicies] An array of * service endpoint policies. * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of * references to the external resources using subnet. * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * * @param {string} [subnetParameters.provisioningState] The provisioning state * of the resource. * @@ -1445,9 +1463,15 @@ class Subnets { * @param {array} [subnetParameters.serviceEndpointPolicies] An array of * service endpoint policies. * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of * references to the external resources using subnet. * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * * @param {string} [subnetParameters.provisioningState] The provisioning state * of the resource. * @@ -1755,9 +1779,15 @@ class Subnets { * @param {array} [subnetParameters.serviceEndpointPolicies] An array of * service endpoint policies. * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of * references to the external resources using subnet. * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * * @param {string} [subnetParameters.provisioningState] The provisioning state * of the resource. * @@ -1868,9 +1898,15 @@ class Subnets { * @param {array} [subnetParameters.serviceEndpointPolicies] An array of * service endpoint policies. * + * @param {array} [subnetParameters.interfaceEndpoints] An array of references + * to interface endpoints + * * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of * references to the external resources using subnet. * + * @param {array} [subnetParameters.delegations] Gets an array of references to + * the delegations on the subnet. + * * @param {string} [subnetParameters.provisioningState] The provisioning state * of the resource. * diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js b/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js new file mode 100644 index 0000000000..a1f644de71 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js @@ -0,0 +1,4416 @@ +/* + * 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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.interfaceEndpoints] + * An array of references to interface endpoints + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] + * Gets an array of references to the external resources using subnet. + * + * @param {array} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] + * Gets an array of references to the delegations on the 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;