diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayAvailableSslOptions.js b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableSslOptions.js index 0d2c74fe8d..91f0108d3f 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayAvailableSslOptions.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableSslOptions.js @@ -121,7 +121,7 @@ class ApplicationGatewayAvailableSslOptions extends models['Resource'] { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'ApplicationGatewaySslCipherSuiteElementType', type: { name: 'String' } @@ -135,7 +135,7 @@ class ApplicationGatewayAvailableSslOptions extends models['Resource'] { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'ApplicationGatewaySslProtocolElementType', type: { name: 'String' } diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js index 1c0b56e51c..1c6add02b9 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js @@ -80,6 +80,8 @@ class ApplicationGatewayBackendHealthServer { * 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 @@ -170,6 +172,9 @@ class ApplicationGatewayBackendHealthServer { * [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.ipConfigurations] * Gets an array of references to the network interface IP configurations * using subnet. @@ -219,6 +224,38 @@ class ApplicationGatewayBackendHealthServer { * 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 {object} [ipConfiguration.publicIPAddress.publicIPPrefix.sku] The + * public IP prefix SKU. + * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.sku.name] + * Name of a public IP prefix SKU. Possible values include: 'Standard' + * @member {string} + * [ipConfiguration.publicIPAddress.publicIPPrefix.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {array} [ipConfiguration.publicIPAddress.publicIPPrefix.ipTags] + * The list of tags associated with the public IP prefix. + * @member {number} + * [ipConfiguration.publicIPAddress.publicIPPrefix.prefixLength] The Length + * of the Public IP Prefix. + * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.ipPrefix] + * The allocated Prefix + * @member {array} + * [ipConfiguration.publicIPAddress.publicIPPrefix.publicIPAddresses] The + * list of all referenced PublicIPAddresses + * @member {string} + * [ipConfiguration.publicIPAddress.publicIPPrefix.resourceGuid] The resource + * GUID property of the public IP prefix resource. + * @member {string} + * [ipConfiguration.publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} [ipConfiguration.publicIPAddress.publicIPPrefix.zones] A + * list of availability zones denoting the IP allocated for the resource + * needs to come from. * @member {number} [ipConfiguration.publicIPAddress.idleTimeoutInMinutes] * The idle timeout of the public IP address. * @member {string} [ipConfiguration.publicIPAddress.resourceGuid] The diff --git a/lib/services/networkManagement2/lib/models/applicationGatewaySslPolicy.js b/lib/services/networkManagement2/lib/models/applicationGatewaySslPolicy.js index 1d1e7bdd49..14f4a8e3bb 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewaySslPolicy.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewaySslPolicy.js @@ -54,7 +54,7 @@ class ApplicationGatewaySslPolicy { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'ApplicationGatewaySslProtocolElementType', type: { name: 'String' } @@ -82,7 +82,7 @@ class ApplicationGatewaySslPolicy { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'ApplicationGatewaySslCipherSuiteElementType', type: { name: 'String' } diff --git a/lib/services/networkManagement2/lib/models/applicationGatewaySslPredefinedPolicy.js b/lib/services/networkManagement2/lib/models/applicationGatewaySslPredefinedPolicy.js index 7e979bed83..0d3688ed67 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewaySslPredefinedPolicy.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewaySslPredefinedPolicy.js @@ -66,7 +66,7 @@ class ApplicationGatewaySslPredefinedPolicy extends models['SubResource'] { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'ApplicationGatewaySslCipherSuiteElementType', type: { name: 'String' } diff --git a/lib/services/networkManagement2/lib/models/azureFirewallNetworkRule.js b/lib/services/networkManagement2/lib/models/azureFirewallNetworkRule.js index 0608539f82..216cc019c1 100644 --- a/lib/services/networkManagement2/lib/models/azureFirewallNetworkRule.js +++ b/lib/services/networkManagement2/lib/models/azureFirewallNetworkRule.js @@ -63,7 +63,7 @@ class AzureFirewallNetworkRule { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'AzureFirewallNetworkRuleProtocolElementType', type: { name: 'String' } diff --git a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js index 561dccc025..2a3e7327a6 100644 --- a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js @@ -67,6 +67,8 @@ class FrontendIPConfiguration extends models['SubResource'] { * @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 @@ -145,6 +147,9 @@ class FrontendIPConfiguration extends models['SubResource'] { * 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. @@ -190,6 +195,33 @@ class FrontendIPConfiguration extends models['SubResource'] { * 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 {object} [publicIPAddress.publicIPPrefix.sku] The public IP prefix + * SKU. + * @member {string} [publicIPAddress.publicIPPrefix.sku.name] Name of a + * public IP prefix SKU. Possible values include: 'Standard' + * @member {string} [publicIPAddress.publicIPPrefix.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {array} [publicIPAddress.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * @member {number} [publicIPAddress.publicIPPrefix.prefixLength] The Length + * of the Public IP Prefix. + * @member {string} [publicIPAddress.publicIPPrefix.ipPrefix] The allocated + * Prefix + * @member {array} [publicIPAddress.publicIPPrefix.publicIPAddresses] The + * list of all referenced PublicIPAddresses + * @member {string} [publicIPAddress.publicIPPrefix.resourceGuid] The + * resource GUID property of the public IP prefix resource. + * @member {string} [publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.publicIPPrefix.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {array} [publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to + * come from. * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout * of the public IP address. * @member {string} [publicIPAddress.resourceGuid] The resource GUID property diff --git a/lib/services/networkManagement2/lib/models/iPConfiguration.js b/lib/services/networkManagement2/lib/models/iPConfiguration.js index dbdb4959c8..36a5d33030 100644 --- a/lib/services/networkManagement2/lib/models/iPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/iPConfiguration.js @@ -59,6 +59,8 @@ class IPConfiguration extends models['SubResource'] { * @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 @@ -103,6 +105,33 @@ class IPConfiguration extends models['SubResource'] { * 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 {object} [publicIPAddress.publicIPPrefix.sku] The public IP prefix + * SKU. + * @member {string} [publicIPAddress.publicIPPrefix.sku.name] Name of a + * public IP prefix SKU. Possible values include: 'Standard' + * @member {string} [publicIPAddress.publicIPPrefix.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {array} [publicIPAddress.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * @member {number} [publicIPAddress.publicIPPrefix.prefixLength] The Length + * of the Public IP Prefix. + * @member {string} [publicIPAddress.publicIPPrefix.ipPrefix] The allocated + * Prefix + * @member {array} [publicIPAddress.publicIPPrefix.publicIPAddresses] The + * list of all referenced PublicIPAddresses + * @member {string} [publicIPAddress.publicIPPrefix.resourceGuid] The + * resource GUID property of the public IP prefix resource. + * @member {string} [publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.publicIPPrefix.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {array} [publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to + * come from. * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout * of the public IP address. * @member {string} [publicIPAddress.resourceGuid] The resource GUID property diff --git a/lib/services/networkManagement2/lib/models/inboundNatPool.js b/lib/services/networkManagement2/lib/models/inboundNatPool.js index b8304b9e92..3e4166e3e1 100644 --- a/lib/services/networkManagement2/lib/models/inboundNatPool.js +++ b/lib/services/networkManagement2/lib/models/inboundNatPool.js @@ -42,6 +42,9 @@ class InboundNatPool extends models['SubResource'] { * 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 * PublicIP resource. Possible values are: 'Updating', 'Deleting', and * 'Failed'. @@ -125,6 +128,13 @@ class InboundNatPool extends models['SubResource'] { name: 'Boolean' } }, + enableTcpReset: { + required: false, + serializedName: 'properties.enableTcpReset', + type: { + name: 'Boolean' + } + }, provisioningState: { required: false, serializedName: 'properties.provisioningState', diff --git a/lib/services/networkManagement2/lib/models/inboundNatRule.js b/lib/services/networkManagement2/lib/models/inboundNatRule.js index 09299a448c..fa5b825834 100644 --- a/lib/services/networkManagement2/lib/models/inboundNatRule.js +++ b/lib/services/networkManagement2/lib/models/inboundNatRule.js @@ -89,6 +89,8 @@ class InboundNatRule extends models['SubResource'] { * 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. @@ -182,6 +184,9 @@ class InboundNatRule extends models['SubResource'] { * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] * An array of service endpoints. * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] * Gets an array of references to the network interface IP configurations * using subnet. @@ -235,6 +240,44 @@ class InboundNatRule extends models['SubResource'] { * 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 {object} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.sku] The public IP + * prefix SKU. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.sku.name] Name of a + * public IP prefix SKU. Possible values include: 'Standard' + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {array} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.ipTags] The list of + * tags associated with the public IP prefix. + * @member {number} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.prefixLength] The + * Length of the Public IP Prefix. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.ipPrefix] The + * allocated Prefix + * @member {array} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.publicIPAddresses] + * The list of all referenced PublicIPAddresses + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.resourceGuid] The + * resource GUID property of the public IP prefix resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.provisioningState] + * The provisioning state of the Public IP prefix resource. Possible values + * are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {array} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to + * come from. * @member {number} * [backendIPConfiguration.publicIPAddress.idleTimeoutInMinutes] The idle * timeout of the public IP address. @@ -274,6 +317,9 @@ class InboundNatRule extends models['SubResource'] { * 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'. @@ -359,6 +405,13 @@ class InboundNatRule extends models['SubResource'] { name: 'Boolean' } }, + enableTcpReset: { + required: false, + serializedName: 'properties.enableTcpReset', + type: { + name: 'Boolean' + } + }, provisioningState: { required: false, serializedName: 'properties.provisioningState', diff --git a/lib/services/networkManagement2/lib/models/index.d.ts b/lib/services/networkManagement2/lib/models/index.d.ts index dc2fde51e5..f62dc24b23 100644 --- a/lib/services/networkManagement2/lib/models/index.d.ts +++ b/lib/services/networkManagement2/lib/models/index.d.ts @@ -338,6 +338,8 @@ export interface BackendAddressPool extends SubResource { * 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 @@ -430,6 +432,9 @@ export interface BackendAddressPool extends SubResource { * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] * An array of service endpoints. * @member {array} + * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] + * An array of service endpoint policies. + * @member {array} * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] * Gets an array of references to the network interface IP configurations using * subnet. @@ -482,6 +487,43 @@ export interface BackendAddressPool extends SubResource { * 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 {object} [backendIPConfiguration.publicIPAddress.publicIPPrefix.sku] + * The public IP prefix SKU. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.sku.name] Name of a + * public IP prefix SKU. Possible values include: 'Standard' + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {array} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.ipTags] The list of + * tags associated with the public IP prefix. + * @member {number} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.prefixLength] The + * Length of the Public IP Prefix. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.ipPrefix] The + * allocated Prefix + * @member {array} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.publicIPAddresses] + * The list of all referenced PublicIPAddresses + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.resourceGuid] The + * resource GUID property of the public IP prefix resource. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.provisioningState] + * The provisioning state of the Public IP prefix resource. Possible values + * are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.etag] A unique + * read-only string that changes whenever the resource is updated. + * @member {array} + * [backendIPConfiguration.publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * @member {number} * [backendIPConfiguration.publicIPAddress.idleTimeoutInMinutes] The idle * timeout of the public IP address. @@ -519,6 +561,9 @@ export interface BackendAddressPool extends SubResource { * 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'. @@ -535,6 +580,7 @@ export interface InboundNatRule extends SubResource { backendPort?: number; idleTimeoutInMinutes?: number; enableFloatingIP?: boolean; + enableTcpReset?: boolean; provisioningState?: string; name?: string; etag?: string; @@ -837,6 +883,55 @@ export interface ServiceEndpointPropertiesFormat { provisioningState?: string; } +/** + * @class + * Initializes a new instance of the ServiceEndpointPolicyDefinition class. + * @constructor + * Service Endpoint policy definitions. + * + * @member {string} [description] A description for this rule. Restricted to + * 140 chars. + * @member {string} [service] service endpoint name. + * @member {array} [serviceResources] A list of service resources. + * @member {string} [provisioningState] The provisioning state of the service + * end point policy definition. 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 ServiceEndpointPolicyDefinition extends SubResource { + description?: string; + service?: string; + serviceResources?: string[]; + provisioningState?: string; + name?: string; + etag?: string; +} + +/** + * @class + * Initializes a new instance of the ServiceEndpointPolicy class. + * @constructor + * Service End point policy resource. + * + * @member {array} [serviceEndpointPolicyDefinitions] A collection of service + * endpoint policy definitions of the service endpoint policy. + * @member {string} [resourceGuid] The resource GUID property of the service + * endpoint policy resource. + * @member {string} [provisioningState] The provisioning state of the service + * endpoint policy. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + */ +export interface ServiceEndpointPolicy extends Resource { + serviceEndpointPolicyDefinitions?: ServiceEndpointPolicyDefinition[]; + resourceGuid?: string; + provisioningState?: string; + etag?: string; +} + /** * @class * Initializes a new instance of the PublicIPAddressSku class. @@ -879,7 +974,7 @@ export interface PublicIPAddressDnsSettings { * @class * Initializes a new instance of the IpTag class. * @constructor - * Contains the IpTag associated with the public IP address + * Contains the IpTag associated with the object * * @member {string} [ipTagType] Gets or sets the ipTag type: Example * FirstPartyUsage. @@ -891,6 +986,69 @@ export interface IpTag { tag?: string; } +/** + * @class + * Initializes a new instance of the PublicIPPrefixSku class. + * @constructor + * SKU of a public IP prefix + * + * @member {string} [name] Name of a public IP prefix SKU. Possible values + * include: 'Standard' + */ +export interface PublicIPPrefixSku { + name?: string; +} + +/** + * @class + * Initializes a new instance of the ReferencedPublicIpAddress class. + * @constructor + * @member {string} [id] The PublicIPAddress Reference + */ +export interface ReferencedPublicIpAddress { + id?: string; +} + +/** + * @class + * Initializes a new instance of the PublicIPPrefix class. + * @constructor + * Public IP prefix resource. + * + * @member {object} [sku] The public IP prefix SKU. + * @member {string} [sku.name] Name of a public IP prefix SKU. Possible values + * include: 'Standard' + * @member {string} [publicIPAddressVersion] The public IP address version. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * @member {array} [ipTags] The list of tags associated with the public IP + * prefix. + * @member {number} [prefixLength] The Length of the Public IP Prefix. + * @member {string} [ipPrefix] The allocated Prefix + * @member {array} [publicIPAddresses] The list of all referenced + * PublicIPAddresses + * @member {string} [resourceGuid] The resource GUID property of the public IP + * prefix resource. + * @member {string} [provisioningState] The provisioning state of the Public IP + * prefix resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @member {string} [etag] A unique read-only string that changes whenever the + * resource is updated. + * @member {array} [zones] A list of availability zones denoting the IP + * allocated for the resource needs to come from. + */ +export interface PublicIPPrefix extends Resource { + sku?: PublicIPPrefixSku; + publicIPAddressVersion?: string; + ipTags?: IpTag[]; + prefixLength?: number; + ipPrefix?: string; + publicIPAddresses?: ReferencedPublicIpAddress[]; + resourceGuid?: string; + provisioningState?: string; + etag?: string; + zones?: string[]; +} + /** * @class * Initializes a new instance of the PublicIPAddress class. @@ -954,6 +1112,8 @@ export interface IpTag { * 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 @@ -993,6 +1153,30 @@ export interface IpTag { * address. * @member {string} [ipAddress] The IP address associated with the public IP * address resource. + * @member {object} [publicIPPrefix] The Public IP Prefix this Public IP + * Address should be allocated from. + * @member {object} [publicIPPrefix.sku] The public IP prefix SKU. + * @member {string} [publicIPPrefix.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' + * @member {string} [publicIPPrefix.publicIPAddressVersion] The public IP + * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values + * include: 'IPv4', 'IPv6' + * @member {array} [publicIPPrefix.ipTags] The list of tags associated with the + * public IP prefix. + * @member {number} [publicIPPrefix.prefixLength] The Length of the Public IP + * Prefix. + * @member {string} [publicIPPrefix.ipPrefix] The allocated Prefix + * @member {array} [publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * @member {string} [publicIPPrefix.resourceGuid] The resource GUID property of + * the public IP prefix resource. + * @member {string} [publicIPPrefix.provisioningState] The provisioning state + * of the Public IP prefix resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [publicIPPrefix.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {array} [publicIPPrefix.zones] A list of availability zones denoting + * the IP allocated for the resource needs to come from. * @member {number} [idleTimeoutInMinutes] The idle timeout of the public IP * address. * @member {string} [resourceGuid] The resource GUID property of the public IP @@ -1012,6 +1196,7 @@ export interface PublicIPAddress extends Resource { dnsSettings?: PublicIPAddressDnsSettings; ipTags?: IpTag[]; ipAddress?: string; + publicIPPrefix?: PublicIPPrefix; idleTimeoutInMinutes?: number; resourceGuid?: string; provisioningState?: string; @@ -1064,6 +1249,8 @@ export interface PublicIPAddress extends Resource { * @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 @@ -1106,6 +1293,33 @@ export interface PublicIPAddress extends Resource { * 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 {object} [publicIPAddress.publicIPPrefix.sku] The public IP prefix + * SKU. + * @member {string} [publicIPAddress.publicIPPrefix.sku.name] Name of a public + * IP prefix SKU. Possible values include: 'Standard' + * @member {string} [publicIPAddress.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * @member {array} [publicIPAddress.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * @member {number} [publicIPAddress.publicIPPrefix.prefixLength] The Length of + * the Public IP Prefix. + * @member {string} [publicIPAddress.publicIPPrefix.ipPrefix] The allocated + * Prefix + * @member {array} [publicIPAddress.publicIPPrefix.publicIPAddresses] The list + * of all referenced PublicIPAddresses + * @member {string} [publicIPAddress.publicIPPrefix.resourceGuid] The resource + * GUID property of the public IP prefix resource. + * @member {string} [publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.publicIPPrefix.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {array} [publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout of * the public IP address. * @member {string} [publicIPAddress.resourceGuid] The resource GUID property @@ -1194,6 +1408,8 @@ export interface ResourceNavigationLink extends SubResource { * @member {string} [routeTable.etag] Gets a unique read-only string that * changes whenever the resource is updated. * @member {array} [serviceEndpoints] An array of service endpoints. + * @member {array} [serviceEndpointPolicies] An array of service endpoint + * policies. * @member {array} [ipConfigurations] Gets an array of references to the * network interface IP configurations using subnet. * @member {array} [resourceNavigationLinks] Gets an array of references to the @@ -1209,6 +1425,7 @@ export interface Subnet extends SubResource { networkSecurityGroup?: NetworkSecurityGroup; routeTable?: RouteTable; serviceEndpoints?: ServiceEndpointPropertiesFormat[]; + serviceEndpointPolicies?: ServiceEndpointPolicy[]; readonly ipConfigurations?: IPConfiguration[]; resourceNavigationLinks?: ResourceNavigationLink[]; provisioningState?: string; @@ -1271,6 +1488,8 @@ export interface Subnet extends SubResource { * @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 @@ -1349,6 +1568,9 @@ export interface Subnet extends SubResource { * 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. @@ -1392,6 +1614,33 @@ export interface Subnet extends SubResource { * 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 {object} [publicIPAddress.publicIPPrefix.sku] The public IP prefix + * SKU. + * @member {string} [publicIPAddress.publicIPPrefix.sku.name] Name of a public + * IP prefix SKU. Possible values include: 'Standard' + * @member {string} [publicIPAddress.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * @member {array} [publicIPAddress.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * @member {number} [publicIPAddress.publicIPPrefix.prefixLength] The Length of + * the Public IP Prefix. + * @member {string} [publicIPAddress.publicIPPrefix.ipPrefix] The allocated + * Prefix + * @member {array} [publicIPAddress.publicIPPrefix.publicIPAddresses] The list + * of all referenced PublicIPAddresses + * @member {string} [publicIPAddress.publicIPPrefix.resourceGuid] The resource + * GUID property of the public IP prefix resource. + * @member {string} [publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.publicIPPrefix.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {array} [publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout of * the public IP address. * @member {string} [publicIPAddress.resourceGuid] The resource GUID property @@ -1616,6 +1865,8 @@ export interface ApplicationGatewayBackendHttpSettings extends SubResource { * 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 @@ -1705,6 +1956,9 @@ export interface ApplicationGatewayBackendHttpSettings extends SubResource { * [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.ipConfigurations] * Gets an array of references to the network interface IP configurations using * subnet. @@ -1754,6 +2008,38 @@ export interface ApplicationGatewayBackendHttpSettings extends SubResource { * 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 {object} [ipConfiguration.publicIPAddress.publicIPPrefix.sku] The + * public IP prefix SKU. + * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.sku.name] + * Name of a public IP prefix SKU. Possible values include: 'Standard' + * @member {string} + * [ipConfiguration.publicIPAddress.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * @member {array} [ipConfiguration.publicIPAddress.publicIPPrefix.ipTags] The + * list of tags associated with the public IP prefix. + * @member {number} + * [ipConfiguration.publicIPAddress.publicIPPrefix.prefixLength] The Length of + * the Public IP Prefix. + * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.ipPrefix] + * The allocated Prefix + * @member {array} + * [ipConfiguration.publicIPAddress.publicIPPrefix.publicIPAddresses] The list + * of all referenced PublicIPAddresses + * @member {string} + * [ipConfiguration.publicIPAddress.publicIPPrefix.resourceGuid] The resource + * GUID property of the public IP prefix resource. + * @member {string} + * [ipConfiguration.publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [ipConfiguration.publicIPAddress.publicIPPrefix.etag] A + * unique read-only string that changes whenever the resource is updated. + * @member {array} [ipConfiguration.publicIPAddress.publicIPPrefix.zones] A + * list of availability zones denoting the IP allocated for the resource needs + * to come from. * @member {number} [ipConfiguration.publicIPAddress.idleTimeoutInMinutes] The * idle timeout of the public IP address. * @member {string} [ipConfiguration.publicIPAddress.resourceGuid] The resource @@ -3524,6 +3810,8 @@ export interface LoadBalancerSku { * @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 @@ -3599,6 +3887,9 @@ export interface LoadBalancerSku { * 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. @@ -3642,6 +3933,33 @@ export interface LoadBalancerSku { * 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 {object} [publicIPAddress.publicIPPrefix.sku] The public IP prefix + * SKU. + * @member {string} [publicIPAddress.publicIPPrefix.sku.name] Name of a public + * IP prefix SKU. Possible values include: 'Standard' + * @member {string} [publicIPAddress.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * @member {array} [publicIPAddress.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * @member {number} [publicIPAddress.publicIPPrefix.prefixLength] The Length of + * the Public IP Prefix. + * @member {string} [publicIPAddress.publicIPPrefix.ipPrefix] The allocated + * Prefix + * @member {array} [publicIPAddress.publicIPPrefix.publicIPAddresses] The list + * of all referenced PublicIPAddresses + * @member {string} [publicIPAddress.publicIPPrefix.resourceGuid] The resource + * GUID property of the public IP prefix resource. + * @member {string} [publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.publicIPPrefix.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {array} [publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to come + * from. * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout of * the public IP address. * @member {string} [publicIPAddress.resourceGuid] The resource GUID property @@ -3711,6 +4029,9 @@ export interface FrontendIPConfiguration extends SubResource { * 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 {boolean} [disableOutboundSnat] Configures SNAT for the VMs in the * backend pool to use the publicIP address specified in the frontend of the * load balancing rule. @@ -3732,6 +4053,7 @@ export interface LoadBalancingRule extends SubResource { backendPort?: number; idleTimeoutInMinutes?: number; enableFloatingIP?: boolean; + enableTcpReset?: boolean; disableOutboundSnat?: boolean; provisioningState?: string; name?: string; @@ -3812,6 +4134,9 @@ export interface Probe extends SubResource { * 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 * PublicIP resource. Possible values are: 'Updating', 'Deleting', and * 'Failed'. @@ -3828,6 +4153,7 @@ export interface InboundNatPool extends SubResource { backendPort: number; idleTimeoutInMinutes?: number; enableFloatingIP?: boolean; + enableTcpReset?: boolean; provisioningState?: string; name?: string; etag?: string; @@ -7247,6 +7573,18 @@ export interface PublicIPAddressListResult extends Array { nextLink?: string; } +/** + * @class + * Initializes a new instance of the PublicIPPrefixListResult class. + * @constructor + * Response for ListPublicIpPrefixes API service call. + * + * @member {string} [nextLink] The URL to get the next set of results. + */ +export interface PublicIPPrefixListResult extends Array { + nextLink?: string; +} + /** * @class * Initializes a new instance of the RouteFilterListResult class. @@ -7501,3 +7839,29 @@ export interface ListVpnGatewaysResult extends Array { export interface ListVpnConnectionsResult extends Array { nextLink?: string; } + +/** + * @class + * Initializes a new instance of the ServiceEndpointPolicyListResult class. + * @constructor + * Response for ListServiceEndpointPolicies API service call. + * + * @member {string} [nextLink] The URL to get the next set of results. + */ +export interface ServiceEndpointPolicyListResult extends Array { + readonly nextLink?: string; +} + +/** + * @class + * Initializes a new instance of the ServiceEndpointPolicyDefinitionListResult class. + * @constructor + * Response for ListServiceEndpointPolicyDefinition API service call. Retrieves + * all service endpoint policy definition that belongs to a service endpoint + * policy. + * + * @member {string} [nextLink] The URL to get the next set of results. + */ +export interface ServiceEndpointPolicyDefinitionListResult extends Array { + nextLink?: string; +} diff --git a/lib/services/networkManagement2/lib/models/index.js b/lib/services/networkManagement2/lib/models/index.js index bd50b1261c..2541c5b0f1 100644 --- a/lib/services/networkManagement2/lib/models/index.js +++ b/lib/services/networkManagement2/lib/models/index.js @@ -38,9 +38,14 @@ exports.NetworkSecurityGroup = require('./networkSecurityGroup'); exports.Route = require('./route'); exports.RouteTable = require('./routeTable'); exports.ServiceEndpointPropertiesFormat = require('./serviceEndpointPropertiesFormat'); +exports.ServiceEndpointPolicyDefinition = require('./serviceEndpointPolicyDefinition'); +exports.ServiceEndpointPolicy = require('./serviceEndpointPolicy'); exports.PublicIPAddressSku = require('./publicIPAddressSku'); exports.PublicIPAddressDnsSettings = require('./publicIPAddressDnsSettings'); exports.IpTag = require('./ipTag'); +exports.PublicIPPrefixSku = require('./publicIPPrefixSku'); +exports.ReferencedPublicIpAddress = require('./referencedPublicIpAddress'); +exports.PublicIPPrefix = require('./publicIPPrefix'); exports.PublicIPAddress = require('./publicIPAddress'); exports.IPConfiguration = require('./iPConfiguration'); exports.ResourceNavigationLink = require('./resourceNavigationLink'); @@ -260,6 +265,7 @@ exports.PacketCaptureListResult = require('./packetCaptureListResult'); exports.ConnectionMonitorListResult = require('./connectionMonitorListResult'); exports.OperationListResult = require('./operationListResult'); exports.PublicIPAddressListResult = require('./publicIPAddressListResult'); +exports.PublicIPPrefixListResult = require('./publicIPPrefixListResult'); exports.RouteFilterListResult = require('./routeFilterListResult'); exports.RouteFilterRuleListResult = require('./routeFilterRuleListResult'); exports.RouteTableListResult = require('./routeTableListResult'); @@ -280,3 +286,5 @@ exports.ListVirtualHubsResult = require('./listVirtualHubsResult'); exports.ListHubVirtualNetworkConnectionsResult = require('./listHubVirtualNetworkConnectionsResult'); exports.ListVpnGatewaysResult = require('./listVpnGatewaysResult'); exports.ListVpnConnectionsResult = require('./listVpnConnectionsResult'); +exports.ServiceEndpointPolicyListResult = require('./serviceEndpointPolicyListResult'); +exports.ServiceEndpointPolicyDefinitionListResult = require('./serviceEndpointPolicyDefinitionListResult'); diff --git a/lib/services/networkManagement2/lib/models/ipTag.js b/lib/services/networkManagement2/lib/models/ipTag.js index f6352a0ffa..799730a776 100644 --- a/lib/services/networkManagement2/lib/models/ipTag.js +++ b/lib/services/networkManagement2/lib/models/ipTag.js @@ -11,7 +11,7 @@ 'use strict'; /** - * Contains the IpTag associated with the public IP address + * Contains the IpTag associated with the object * */ class IpTag { diff --git a/lib/services/networkManagement2/lib/models/loadBalancingRule.js b/lib/services/networkManagement2/lib/models/loadBalancingRule.js index fd17df9a64..978d0deb75 100644 --- a/lib/services/networkManagement2/lib/models/loadBalancingRule.js +++ b/lib/services/networkManagement2/lib/models/loadBalancingRule.js @@ -48,6 +48,9 @@ class LoadBalancingRule extends models['SubResource'] { * 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 {boolean} [disableOutboundSnat] Configures SNAT for the VMs in the * backend pool to use the publicIP address specified in the frontend of the * load balancing rule. @@ -150,6 +153,13 @@ class LoadBalancingRule extends models['SubResource'] { name: 'Boolean' } }, + enableTcpReset: { + required: false, + serializedName: 'properties.enableTcpReset', + type: { + name: 'Boolean' + } + }, disableOutboundSnat: { required: false, serializedName: 'properties.disableOutboundSnat', diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js index 21466e3abc..7cbe6d4c94 100644 --- a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js @@ -69,6 +69,8 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * @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 @@ -149,6 +151,9 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * 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. @@ -194,6 +199,33 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * 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 {object} [publicIPAddress.publicIPPrefix.sku] The public IP prefix + * SKU. + * @member {string} [publicIPAddress.publicIPPrefix.sku.name] Name of a + * public IP prefix SKU. Possible values include: 'Standard' + * @member {string} [publicIPAddress.publicIPPrefix.publicIPAddressVersion] + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. + * Possible values include: 'IPv4', 'IPv6' + * @member {array} [publicIPAddress.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * @member {number} [publicIPAddress.publicIPPrefix.prefixLength] The Length + * of the Public IP Prefix. + * @member {string} [publicIPAddress.publicIPPrefix.ipPrefix] The allocated + * Prefix + * @member {array} [publicIPAddress.publicIPPrefix.publicIPAddresses] The + * list of all referenced PublicIPAddresses + * @member {string} [publicIPAddress.publicIPPrefix.resourceGuid] The + * resource GUID property of the public IP prefix resource. + * @member {string} [publicIPAddress.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * @member {string} [publicIPAddress.publicIPPrefix.etag] A unique read-only + * string that changes whenever the resource is updated. + * @member {array} [publicIPAddress.publicIPPrefix.zones] A list of + * availability zones denoting the IP allocated for the resource needs to + * come from. * @member {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout * of the public IP address. * @member {string} [publicIPAddress.resourceGuid] The resource GUID property diff --git a/lib/services/networkManagement2/lib/models/packetCaptureQueryStatusResult.js b/lib/services/networkManagement2/lib/models/packetCaptureQueryStatusResult.js index e504224120..21b2693d17 100644 --- a/lib/services/networkManagement2/lib/models/packetCaptureQueryStatusResult.js +++ b/lib/services/networkManagement2/lib/models/packetCaptureQueryStatusResult.js @@ -88,7 +88,7 @@ class PacketCaptureQueryStatusResult { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'PcErrorElementType', type: { name: 'String' } diff --git a/lib/services/networkManagement2/lib/models/publicIPAddress.js b/lib/services/networkManagement2/lib/models/publicIPAddress.js index 343142c9ae..7e55e77baa 100644 --- a/lib/services/networkManagement2/lib/models/publicIPAddress.js +++ b/lib/services/networkManagement2/lib/models/publicIPAddress.js @@ -79,6 +79,8 @@ class PublicIPAddress extends models['Resource'] { * 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 @@ -119,6 +121,30 @@ class PublicIPAddress extends models['Resource'] { * address. * @member {string} [ipAddress] The IP address associated with the public IP * address resource. + * @member {object} [publicIPPrefix] The Public IP Prefix this Public IP + * Address should be allocated from. + * @member {object} [publicIPPrefix.sku] The public IP prefix SKU. + * @member {string} [publicIPPrefix.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' + * @member {string} [publicIPPrefix.publicIPAddressVersion] The public IP + * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values + * include: 'IPv4', 'IPv6' + * @member {array} [publicIPPrefix.ipTags] The list of tags associated with + * the public IP prefix. + * @member {number} [publicIPPrefix.prefixLength] The Length of the Public IP + * Prefix. + * @member {string} [publicIPPrefix.ipPrefix] The allocated Prefix + * @member {array} [publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * @member {string} [publicIPPrefix.resourceGuid] The resource GUID property + * of the public IP prefix resource. + * @member {string} [publicIPPrefix.provisioningState] The provisioning state + * of the Public IP prefix resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * @member {string} [publicIPPrefix.etag] A unique read-only string that + * changes whenever the resource is updated. + * @member {array} [publicIPPrefix.zones] A list of availability zones + * denoting the IP allocated for the resource needs to come from. * @member {number} [idleTimeoutInMinutes] The idle timeout of the public IP * address. * @member {string} [resourceGuid] The resource GUID property of the public @@ -254,6 +280,14 @@ class PublicIPAddress extends models['Resource'] { name: 'String' } }, + publicIPPrefix: { + required: false, + serializedName: 'properties.publicIPPrefix', + type: { + name: 'Composite', + className: 'PublicIPPrefix' + } + }, idleTimeoutInMinutes: { required: false, serializedName: 'properties.idleTimeoutInMinutes', diff --git a/lib/services/networkManagement2/lib/models/publicIPPrefix.js b/lib/services/networkManagement2/lib/models/publicIPPrefix.js new file mode 100644 index 0000000000..15fa2711a9 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/publicIPPrefix.js @@ -0,0 +1,207 @@ +/* + * 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'); + +/** + * Public IP prefix resource. + * + * @extends models['Resource'] + */ +class PublicIPPrefix extends models['Resource'] { + /** + * Create a PublicIPPrefix. + * @member {object} [sku] The public IP prefix SKU. + * @member {string} [sku.name] Name of a public IP prefix SKU. Possible + * values include: 'Standard' + * @member {string} [publicIPAddressVersion] The public IP address version. + * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', + * 'IPv6' + * @member {array} [ipTags] The list of tags associated with the public IP + * prefix. + * @member {number} [prefixLength] The Length of the Public IP Prefix. + * @member {string} [ipPrefix] The allocated Prefix + * @member {array} [publicIPAddresses] The list of all referenced + * PublicIPAddresses + * @member {string} [resourceGuid] The resource GUID property of the public + * IP prefix resource. + * @member {string} [provisioningState] The provisioning state of the Public + * IP prefix resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [etag] A unique read-only string that changes whenever + * the resource is updated. + * @member {array} [zones] A list of availability zones denoting the IP + * allocated for the resource needs to come from. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of PublicIPPrefix + * + * @returns {object} metadata of PublicIPPrefix + * + */ + mapper() { + return { + required: false, + serializedName: 'PublicIPPrefix', + type: { + name: 'Composite', + className: 'PublicIPPrefix', + 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' + } + } + } + }, + sku: { + required: false, + serializedName: 'sku', + type: { + name: 'Composite', + className: 'PublicIPPrefixSku' + } + }, + publicIPAddressVersion: { + required: false, + serializedName: 'properties.publicIPAddressVersion', + type: { + name: 'String' + } + }, + ipTags: { + required: false, + serializedName: 'properties.ipTags', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'IpTagElementType', + type: { + name: 'Composite', + className: 'IpTag' + } + } + } + }, + prefixLength: { + required: false, + serializedName: 'properties.prefixLength', + type: { + name: 'Number' + } + }, + ipPrefix: { + required: false, + serializedName: 'properties.ipPrefix', + type: { + name: 'String' + } + }, + publicIPAddresses: { + required: false, + serializedName: 'properties.publicIPAddresses', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ReferencedPublicIpAddressElementType', + type: { + name: 'Composite', + className: 'ReferencedPublicIpAddress' + } + } + } + }, + resourceGuid: { + required: false, + serializedName: 'properties.resourceGuid', + type: { + name: 'String' + } + }, + provisioningState: { + required: false, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + etag: { + required: false, + serializedName: 'etag', + type: { + name: 'String' + } + }, + zones: { + required: false, + serializedName: 'zones', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + } + } + } + }; + } +} + +module.exports = PublicIPPrefix; diff --git a/lib/services/networkManagement2/lib/models/publicIPPrefixListResult.js b/lib/services/networkManagement2/lib/models/publicIPPrefixListResult.js new file mode 100644 index 0000000000..42972e61b0 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/publicIPPrefixListResult.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 ListPublicIpPrefixes API service call. + */ +class PublicIPPrefixListResult extends Array { + /** + * Create a PublicIPPrefixListResult. + * @member {string} [nextLink] The URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of PublicIPPrefixListResult + * + * @returns {object} metadata of PublicIPPrefixListResult + * + */ + mapper() { + return { + required: false, + serializedName: 'PublicIPPrefixListResult', + type: { + name: 'Composite', + className: 'PublicIPPrefixListResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'PublicIPPrefixElementType', + type: { + name: 'Composite', + className: 'PublicIPPrefix' + } + } + } + }, + nextLink: { + required: false, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = PublicIPPrefixListResult; diff --git a/lib/services/networkManagement2/lib/models/publicIPPrefixSku.js b/lib/services/networkManagement2/lib/models/publicIPPrefixSku.js new file mode 100644 index 0000000000..d9cc8fc416 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/publicIPPrefixSku.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'; + +/** + * SKU of a public IP prefix + * + */ +class PublicIPPrefixSku { + /** + * Create a PublicIPPrefixSku. + * @member {string} [name] Name of a public IP prefix SKU. Possible values + * include: 'Standard' + */ + constructor() { + } + + /** + * Defines the metadata of PublicIPPrefixSku + * + * @returns {object} metadata of PublicIPPrefixSku + * + */ + mapper() { + return { + required: false, + serializedName: 'PublicIPPrefixSku', + type: { + name: 'Composite', + className: 'PublicIPPrefixSku', + modelProperties: { + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = PublicIPPrefixSku; diff --git a/lib/services/networkManagement2/lib/models/referencedPublicIpAddress.js b/lib/services/networkManagement2/lib/models/referencedPublicIpAddress.js new file mode 100644 index 0000000000..b68714178b --- /dev/null +++ b/lib/services/networkManagement2/lib/models/referencedPublicIpAddress.js @@ -0,0 +1,51 @@ +/* + * 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'; + +/** + * Class representing a ReferencedPublicIpAddress. + */ +class ReferencedPublicIpAddress { + /** + * Create a ReferencedPublicIpAddress. + * @member {string} [id] The PublicIPAddress Reference + */ + constructor() { + } + + /** + * Defines the metadata of ReferencedPublicIpAddress + * + * @returns {object} metadata of ReferencedPublicIpAddress + * + */ + mapper() { + return { + required: false, + serializedName: 'ReferencedPublicIpAddress', + type: { + name: 'Composite', + className: 'ReferencedPublicIpAddress', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ReferencedPublicIpAddress; diff --git a/lib/services/networkManagement2/lib/models/serviceEndpointPolicy.js b/lib/services/networkManagement2/lib/models/serviceEndpointPolicy.js new file mode 100644 index 0000000000..8851f22a7b --- /dev/null +++ b/lib/services/networkManagement2/lib/models/serviceEndpointPolicy.js @@ -0,0 +1,137 @@ +/* + * 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'); + +/** + * Service End point policy resource. + * + * @extends models['Resource'] + */ +class ServiceEndpointPolicy extends models['Resource'] { + /** + * Create a ServiceEndpointPolicy. + * @member {array} [serviceEndpointPolicyDefinitions] A collection of service + * endpoint policy definitions of the service endpoint policy. + * @member {string} [resourceGuid] The resource GUID property of the service + * endpoint policy resource. + * @member {string} [provisioningState] The provisioning state of the service + * endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * @member {string} [etag] A unique read-only string that changes whenever + * the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of ServiceEndpointPolicy + * + * @returns {object} metadata of ServiceEndpointPolicy + * + */ + mapper() { + return { + required: false, + serializedName: 'ServiceEndpointPolicy', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicy', + 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' + } + } + } + }, + serviceEndpointPolicyDefinitions: { + required: false, + serializedName: 'properties.serviceEndpointPolicyDefinitions', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ServiceEndpointPolicyDefinitionElementType', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicyDefinition' + } + } + } + }, + resourceGuid: { + required: false, + serializedName: 'properties.resourceGuid', + type: { + name: 'String' + } + }, + provisioningState: { + required: false, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + etag: { + required: false, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ServiceEndpointPolicy; diff --git a/lib/services/networkManagement2/lib/models/serviceEndpointPolicyDefinition.js b/lib/services/networkManagement2/lib/models/serviceEndpointPolicyDefinition.js new file mode 100644 index 0000000000..5fd6b74d31 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/serviceEndpointPolicyDefinition.js @@ -0,0 +1,115 @@ +/* + * 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'); + +/** + * Service Endpoint policy definitions. + * + * @extends models['SubResource'] + */ +class ServiceEndpointPolicyDefinition extends models['SubResource'] { + /** + * Create a ServiceEndpointPolicyDefinition. + * @member {string} [description] A description for this rule. Restricted to + * 140 chars. + * @member {string} [service] service endpoint name. + * @member {array} [serviceResources] A list of service resources. + * @member {string} [provisioningState] The provisioning state of the service + * end point policy definition. 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. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of ServiceEndpointPolicyDefinition + * + * @returns {object} metadata of ServiceEndpointPolicyDefinition + * + */ + mapper() { + return { + required: false, + serializedName: 'ServiceEndpointPolicyDefinition', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicyDefinition', + modelProperties: { + id: { + required: false, + serializedName: 'id', + type: { + name: 'String' + } + }, + description: { + required: false, + serializedName: 'properties.description', + type: { + name: 'String' + } + }, + service: { + required: false, + serializedName: 'properties.service', + type: { + name: 'String' + } + }, + serviceResources: { + required: false, + serializedName: 'properties.serviceResources', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + }, + provisioningState: { + required: false, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + name: { + required: false, + serializedName: 'name', + type: { + name: 'String' + } + }, + etag: { + required: false, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ServiceEndpointPolicyDefinition; diff --git a/lib/services/networkManagement2/lib/models/serviceEndpointPolicyDefinitionListResult.js b/lib/services/networkManagement2/lib/models/serviceEndpointPolicyDefinitionListResult.js new file mode 100644 index 0000000000..f79b5fd535 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/serviceEndpointPolicyDefinitionListResult.js @@ -0,0 +1,69 @@ +/* + * 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 ListServiceEndpointPolicyDefinition API service call. Retrieves + * all service endpoint policy definition that belongs to a service endpoint + * policy. + */ +class ServiceEndpointPolicyDefinitionListResult extends Array { + /** + * Create a ServiceEndpointPolicyDefinitionListResult. + * @member {string} [nextLink] The URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of ServiceEndpointPolicyDefinitionListResult + * + * @returns {object} metadata of ServiceEndpointPolicyDefinitionListResult + * + */ + mapper() { + return { + required: false, + serializedName: 'ServiceEndpointPolicyDefinitionListResult', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicyDefinitionListResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ServiceEndpointPolicyDefinitionElementType', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicyDefinition' + } + } + } + }, + nextLink: { + required: false, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ServiceEndpointPolicyDefinitionListResult; diff --git a/lib/services/networkManagement2/lib/models/serviceEndpointPolicyListResult.js b/lib/services/networkManagement2/lib/models/serviceEndpointPolicyListResult.js new file mode 100644 index 0000000000..ce785e4771 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/serviceEndpointPolicyListResult.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 ListServiceEndpointPolicies API service call. + */ +class ServiceEndpointPolicyListResult extends Array { + /** + * Create a ServiceEndpointPolicyListResult. + * @member {string} [nextLink] The URL to get the next set of results. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of ServiceEndpointPolicyListResult + * + * @returns {object} metadata of ServiceEndpointPolicyListResult + * + */ + mapper() { + return { + required: false, + serializedName: 'ServiceEndpointPolicyListResult', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicyListResult', + modelProperties: { + value: { + required: false, + serializedName: '', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ServiceEndpointPolicyElementType', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicy' + } + } + } + }, + nextLink: { + required: false, + readOnly: true, + serializedName: 'nextLink', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ServiceEndpointPolicyListResult; diff --git a/lib/services/networkManagement2/lib/models/subnet.js b/lib/services/networkManagement2/lib/models/subnet.js index 8ba2e0f670..96718bbd13 100644 --- a/lib/services/networkManagement2/lib/models/subnet.js +++ b/lib/services/networkManagement2/lib/models/subnet.js @@ -51,6 +51,8 @@ class Subnet extends models['SubResource'] { * @member {string} [routeTable.etag] Gets a unique read-only string that * changes whenever the resource is updated. * @member {array} [serviceEndpoints] An array of service endpoints. + * @member {array} [serviceEndpointPolicies] An array of service endpoint + * policies. * @member {array} [ipConfigurations] Gets an array of references to the * network interface IP configurations using subnet. * @member {array} [resourceNavigationLinks] Gets an array of references to @@ -125,6 +127,21 @@ class Subnet extends models['SubResource'] { } } }, + serviceEndpointPolicies: { + required: false, + serializedName: 'properties.serviceEndpointPolicies', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ServiceEndpointPolicyElementType', + type: { + name: 'Composite', + className: 'ServiceEndpointPolicy' + } + } + } + }, ipConfigurations: { required: false, readOnly: true, diff --git a/lib/services/networkManagement2/lib/models/vpnClientConfiguration.js b/lib/services/networkManagement2/lib/models/vpnClientConfiguration.js index b4f14facc0..4542fb73c7 100644 --- a/lib/services/networkManagement2/lib/models/vpnClientConfiguration.js +++ b/lib/services/networkManagement2/lib/models/vpnClientConfiguration.js @@ -98,7 +98,7 @@ class VpnClientConfiguration { name: 'Sequence', element: { required: false, - serializedName: 'StringElementType', + serializedName: 'VpnClientProtocolElementType', type: { name: 'String' } diff --git a/lib/services/networkManagement2/lib/networkManagementClient.d.ts b/lib/services/networkManagement2/lib/networkManagementClient.d.ts index cf9957940c..8e605e9d50 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.d.ts +++ b/lib/services/networkManagement2/lib/networkManagementClient.d.ts @@ -34,11 +34,11 @@ export default class NetworkManagementClient extends AzureServiceClient { * * @param {boolean} [options.noRetryPolicy] - If set to true, turn off default retry policy * - * @param {string} [options.acceptLanguage] - Gets or sets the preferred language for the response. + * @param {string} [options.acceptLanguage] - The preferred language for the response. * - * @param {number} [options.longRunningOperationRetryTimeout] - Gets or sets the retry timeout in seconds for Long Running Operations. Default value is 30. + * @param {number} [options.longRunningOperationRetryTimeout] - The retry timeout in seconds for Long Running Operations. Default value is 30. * - * @param {boolean} [options.generateClientRequestId] - When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. + * @param {boolean} [options.generateClientRequestId] - Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. * */ constructor(credentials: ServiceClientCredentials, subscriptionId: string, baseUri?: string, options?: AzureServiceClientOptions); @@ -84,6 +84,7 @@ export default class NetworkManagementClient extends AzureServiceClient { connectionMonitors: operations.ConnectionMonitors; operations: operations.Operations; publicIPAddresses: operations.PublicIPAddresses; + publicIPPrefixes: operations.PublicIPPrefixes; routeFilters: operations.RouteFilters; routeFilterRules: operations.RouteFilterRules; routeTables: operations.RouteTables; @@ -103,6 +104,8 @@ export default class NetworkManagementClient extends AzureServiceClient { hubVirtualNetworkConnections: operations.HubVirtualNetworkConnections; vpnGateways: operations.VpnGateways; vpnConnections: operations.VpnConnections; + serviceEndpointPolicies: operations.ServiceEndpointPolicies; + serviceEndpointPolicyDefinitions: operations.ServiceEndpointPolicyDefinitions; /** diff --git a/lib/services/networkManagement2/lib/networkManagementClient.js b/lib/services/networkManagement2/lib/networkManagementClient.js index ae4cba8f2e..f4d05c202f 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.js +++ b/lib/services/networkManagement2/lib/networkManagementClient.js @@ -181,9 +181,9 @@ class NetworkManagementClient extends ServiceClient { * @param {object} [options.requestOptions] - Options for the underlying request object * {@link https://github.com/request/request#requestoptions-callback Options doc} * @param {boolean} [options.noRetryPolicy] - If set to true, turn off default retry policy - * @param {string} [options.acceptLanguage] - Gets or sets the preferred language for the response. - * @param {number} [options.longRunningOperationRetryTimeout] - Gets or sets the retry timeout in seconds for Long Running Operations. Default value is 30. - * @param {boolean} [options.generateClientRequestId] - When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. + * @param {string} [options.acceptLanguage] - The preferred language for the response. + * @param {number} [options.longRunningOperationRetryTimeout] - The retry timeout in seconds for Long Running Operations. Default value is 30. + * @param {boolean} [options.generateClientRequestId] - Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. */ constructor(credentials, subscriptionId, baseUri, options) { if (credentials === null || credentials === undefined) { @@ -248,6 +248,7 @@ class NetworkManagementClient extends ServiceClient { this.connectionMonitors = new operations.ConnectionMonitors(this); this.operations = new operations.Operations(this); this.publicIPAddresses = new operations.PublicIPAddresses(this); + this.publicIPPrefixes = new operations.PublicIPPrefixes(this); this.routeFilters = new operations.RouteFilters(this); this.routeFilterRules = new operations.RouteFilterRules(this); this.routeTables = new operations.RouteTables(this); @@ -267,6 +268,8 @@ class NetworkManagementClient extends ServiceClient { this.hubVirtualNetworkConnections = new operations.HubVirtualNetworkConnections(this); this.vpnGateways = new operations.VpnGateways(this); this.vpnConnections = new operations.VpnConnections(this); + this.serviceEndpointPolicies = new operations.ServiceEndpointPolicies(this); + this.serviceEndpointPolicyDefinitions = new operations.ServiceEndpointPolicyDefinitions(this); this.models = models; this._checkDnsNameAvailability = _checkDnsNameAvailability; msRest.addSerializationMixin(this); diff --git a/lib/services/networkManagement2/lib/operations/inboundNatRules.js b/lib/services/networkManagement2/lib/operations/inboundNatRules.js index 6a158839de..5d6831d638 100644 --- a/lib/services/networkManagement2/lib/operations/inboundNatRules.js +++ b/lib/services/networkManagement2/lib/operations/inboundNatRules.js @@ -421,6 +421,10 @@ function _get(resourceGroupName, loadBalancerName, inboundNatRuleName, options, * 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'. @@ -674,6 +678,10 @@ function _beginDeleteMethod(resourceGroupName, loadBalancerName, inboundNatRuleN * 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'. @@ -1315,6 +1323,10 @@ class InboundNatRules { * 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'. @@ -1392,6 +1404,10 @@ class InboundNatRules { * 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'. @@ -1580,6 +1596,10 @@ class InboundNatRules { * 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'. @@ -1657,6 +1677,10 @@ class InboundNatRules { * 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'. diff --git a/lib/services/networkManagement2/lib/operations/index.d.ts b/lib/services/networkManagement2/lib/operations/index.d.ts index 1b50dafa65..923e9e63b8 100644 --- a/lib/services/networkManagement2/lib/operations/index.d.ts +++ b/lib/services/networkManagement2/lib/operations/index.d.ts @@ -10735,6 +10735,10 @@ export interface InboundNatRules { * 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'. @@ -10800,6 +10804,10 @@ export interface InboundNatRules { * 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'. @@ -10946,6 +10954,10 @@ export interface InboundNatRules { * 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'. @@ -11011,6 +11023,10 @@ export interface InboundNatRules { * 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'. @@ -19969,6 +19985,48 @@ export interface PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -20052,6 +20110,48 @@ export interface PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -20610,6 +20710,48 @@ export interface PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -20693,6 +20835,48 @@ export interface PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -21054,19 +21238,19 @@ export interface PublicIPAddresses { /** * @class - * RouteFilters + * PublicIPPrefixes * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface RouteFilters { +export interface PublicIPPrefixes { /** - * Deletes the specified route filter. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -21079,14 +21263,14 @@ export interface RouteFilters { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route filter. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -21114,45 +21298,43 @@ export interface RouteFilters { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, publicIpPrefixName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, publicIpPrefixName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified route filter. + * Gets the specified public IP prefix 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} publicIpPrefixName The name of the PublicIPPrefx. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced express route bgp - * peering resources. + * @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, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route filter. + * Gets the specified public IP prefix 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} publicIpPrefixName The name of the PublicIPPrefx. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced express route bgp - * peering resources. + * @param {string} [options.expand] Expands referenced resources. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -21164,7 +21346,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21172,39 +21354,66 @@ export interface RouteFilters { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilter} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilter} for more information. + * {PublicIPPrefix} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefix} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, routeFilterName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Creates or updates a route filter in a specified resource group. + * Creates or updates a static or dynamic public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {object} [parameters.sku] The public IP prefix SKU. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @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. * @@ -21213,33 +21422,60 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, 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 prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {object} [parameters.sku] The public IP prefix SKU. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @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. * @@ -21253,7 +21489,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21261,37 +21497,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. + * {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. */ - 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; + 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; /** - * Updates a route filter in a specified resource group. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {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} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -21300,31 +21528,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. */ - updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route filter in a specified resource group. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {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} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -21338,7 +21558,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21346,22 +21566,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. + * {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. */ - 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; + updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the public IP prefixes in a subscription. * * @param {object} [options] Optional Parameters. * @@ -21370,16 +21588,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. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a resource group. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the public IP prefixes in a subscription. * * @param {object} [options] Optional Parameters. * @@ -21393,7 +21609,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21401,20 +21617,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. + * {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. */ - 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; + 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 prefixes in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -21423,14 +21642,16 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a subscription. + * Gets all public IP prefixes in a resource group. + * + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -21444,7 +21665,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21452,24 +21673,25 @@ 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. + * {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(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route filter. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -21482,14 +21704,14 @@ export interface RouteFilters { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route filter. + * Deletes the specified public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. * * @param {object} [options] Optional Parameters. * @@ -21517,32 +21739,59 @@ export interface RouteFilters { * * {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; + 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; /** - * Creates or updates a route filter in a specified resource group. + * Creates or updates a static or dynamic public IP prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {object} [parameters.sku] The public IP prefix SKU. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @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. * @@ -21551,33 +21800,60 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.PublicIPPrefix, 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 prefix. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {string} publicIpPrefixName The name of the public IP prefix. * - * @param {object} routeFilterParameters Parameters supplied to the create or - * update route filter operation. + * @param {object} parameters Parameters supplied to the create or update + * public IP prefix operation. * - * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules - * contained within a route filter. + * @param {object} [parameters.sku] The public IP prefix SKU. * - * @param {array} [routeFilterParameters.peerings] A collection of references - * to express route circuit peerings. + * @param {string} [parameters.sku.name] Name of a public IP prefix SKU. + * Possible values include: 'Standard' * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {string} [parameters.publicIPAddressVersion] The public IP address + * version. Possible values are: 'IPv4' and 'IPv6'. Possible values include: + * 'IPv4', 'IPv6' * - * @param {string} [routeFilterParameters.location] Resource location. + * @param {array} [parameters.ipTags] The list of tags associated with the + * public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @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. * @@ -21591,7 +21867,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21599,37 +21875,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. + * {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. */ - 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; + 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; /** - * Updates a route filter in a specified resource group. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {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} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -21638,31 +21906,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>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route filter in a specified resource group. + * Updates public IP prefix tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * - * @param {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} publicIpPrefixName The name of the public IP prefix. * - * @param {object} [routeFilterParameters.tags] Resource tags. + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. * - * @param {string} [routeFilterParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -21676,7 +21936,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilter} - The deserialized result object. + * @resolve {PublicIPPrefix} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21684,20 +21944,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. + * {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. */ - 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; + beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, publicIpPrefixName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route filters in a resource group. + * Gets all the public IP prefixes in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -21709,14 +21969,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>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a resource group. + * Gets all the public IP prefixes in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -21733,7 +21993,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21741,20 +22001,21 @@ 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. + * {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. */ - 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; + 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 route filters in a subscription. + * Gets all public IP prefixes in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -21766,14 +22027,14 @@ export interface RouteFilters { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route filters in a subscription. + * Gets all public IP prefixes in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -21790,7 +22051,7 @@ export interface RouteFilters { * * {Promise} A promise is returned. * - * @resolve {RouteFilterListResult} - The deserialized result object. + * @resolve {PublicIPPrefixListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21798,36 +22059,35 @@ 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. + * {PublicIPPrefixListResult} [result] - The deserialized result object if an error did not occur. + * See {@link PublicIPPrefixListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 + * RouteFilters * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface RouteFilterRules { +export interface RouteFilters { /** - * Deletes the specified rule from a route filter. + * Deletes 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 rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -21839,17 +22099,15 @@ export interface RouteFilterRules { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified rule from a route filter. + * Deletes 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 rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -21876,44 +22134,46 @@ export interface RouteFilterRules { * * {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; + deleteMethod(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified rule from a route filter. + * Gets 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 rule. - * * @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. */ - getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified rule from a route filter. + * Gets 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 rule. - * * @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 * @@ -21924,7 +22184,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -21932,44 +22192,39 @@ 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. + * {RouteFilter} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilter} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, routeFilterName: string, 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; + get(resourceGroupName: string, routeFilterName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, routeFilterName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @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} [routeFilterParameters.id] Resource ID. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -21978,38 +22233,33 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @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} [routeFilterParameters.id] Resource ID. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22023,7 +22273,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22031,38 +22281,37 @@ 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. + * {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, 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; + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {object} [routeFilterParameters.tags] Resource tags. + * + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22071,32 +22320,31 @@ 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>; + updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {object} [routeFilterParameters.tags] Resource tags. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22110,7 +22358,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22118,25 +22366,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. + * {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, 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; + 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 RouteFilterRules in a route filter. + * Gets all route filters in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -22144,18 +22390,67 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByRouteFilterWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all RouteFilterRules in a route filter. + * Gets all route filters in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeFilterName The name of the route filter. + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {RouteFilterListResult} - 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. + * + * {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; + + + /** + * Gets all route filters 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. + */ + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all route filters in a subscription. * * @param {object} [options] Optional Parameters. * @@ -22169,7 +22464,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRuleListResult} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22177,28 +22472,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 - * 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. */ - listByRouteFilter(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByRouteFilter(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; - listByRouteFilter(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified rule from a route filter. + * Deletes 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 rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -22210,17 +22502,15 @@ export interface RouteFilterRules { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified rule from a route filter. + * Deletes 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 rule. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -22247,37 +22537,32 @@ export interface RouteFilterRules { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeFilterName: string, ruleName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, 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 route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @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} [routeFilterParameters.id] Resource ID. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22286,38 +22571,33 @@ export interface RouteFilterRules { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.RouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. - * - * @param {object} routeFilterRuleParameters Parameters supplied to the create - * or update route filter rule operation. + * @param {object} routeFilterParameters Parameters supplied to the create or + * update route filter operation. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @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} [routeFilterParameters.id] Resource ID. * - * @param {string} [routeFilterRuleParameters.location] Resource location. + * @param {string} [routeFilterParameters.location] Resource location. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {object} [routeFilterParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -22331,7 +22611,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22339,38 +22619,37 @@ 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. + * {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, 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; + 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 a route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {object} [routeFilterParameters.tags] Resource tags. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22379,32 +22658,31 @@ 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>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, routeFilterParameters: models.PatchRouteFilter, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route in the specified route filter. + * 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 {string} ruleName The name of the route filter rule. + * @param {object} routeFilterParameters Parameters supplied to the update + * route filter operation. * - * @param {object} routeFilterRuleParameters Parameters supplied to the update - * route filter rule operation. + * @param {array} [routeFilterParameters.rules] Collection of RouteFilterRules + * contained within a route filter. * - * @param {string} routeFilterRuleParameters.access The access type of the - * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', - * 'Deny' + * @param {array} [routeFilterParameters.peerings] A collection of references + * to express route circuit peerings. * - * @param {array} routeFilterRuleParameters.communities The collection for bgp - * community values to filter on. e.g. ['12076:5010','12076:5020'] + * @param {object} [routeFilterParameters.tags] Resource tags. * - * @param {string} [routeFilterRuleParameters.id] Resource ID. + * @param {string} [routeFilterParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22418,7 +22696,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRule} - The deserialized result object. + * @resolve {RouteFilter} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22426,20 +22704,20 @@ 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. + * {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. */ - 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; + 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 RouteFilterRules in a route filter. + * Gets all route filters in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -22451,14 +22729,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>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all RouteFilterRules in a route filter. + * Gets all route filters in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -22475,7 +22753,7 @@ export interface RouteFilterRules { * * {Promise} A promise is returned. * - * @resolve {RouteFilterRuleListResult} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22483,34 +22761,23 @@ export interface RouteFilterRules { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. - * See {@link RouteFilterRuleListResult} for more - * information. + * {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. */ - 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 { + 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; /** - * Deletes the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all route filters in a subscription. * - * @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. * @@ -22519,18 +22786,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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route table. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all route filters in a subscription. * - * @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. * @@ -22544,7 +22810,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteFilterListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22552,49 +22818,59 @@ 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. + * {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, 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; + 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 { /** - * Gets the specified route table. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [options] Optional Parameters. + * @param {string} ruleName The name of the rule. * - * @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, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route table. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} [options] Optional Parameters. + * @param {string} ruleName The name of the rule. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -22606,7 +22882,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. * @@ -22614,46 +22890,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. + * {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, 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; + 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; /** - * Create or updates a route table in a specified resource group. + * Gets the specified rule from a route filter. * * @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 {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. * @@ -22662,40 +22917,20 @@ 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>; + getWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or updates a route table in a specified resource group. + * Gets the specified rule from a route filter. * * @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 {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. * @@ -22709,7 +22944,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22717,28 +22952,44 @@ 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. + * {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, 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; + 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 a route table tags. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update route table 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. * @@ -22747,22 +22998,38 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route table tags. + * Creates or updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update route table 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. * @@ -22776,7 +23043,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22784,23 +23051,39 @@ 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. + * {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. */ - 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; + 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 route tables in a resource group. + * Updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -22808,17 +23091,33 @@ 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>; + updateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a resource group. + * Updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the route filter rule. + * + * @param {object} routeFilterRuleParameters Parameters supplied to the update + * route filter rule operation. + * + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' + * + * @param {array} routeFilterRuleParameters.communities The collection for bgp + * community values to filter on. e.g. ['12076:5010','12076:5020'] + * + * @param {string} [routeFilterRuleParameters.id] Resource ID. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -22831,7 +23130,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22839,20 +23138,24 @@ 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. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, callback: ServiceCallback): void; + update(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all route tables in a subscription. + * Gets all RouteFilterRules in a route filter. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -22861,14 +23164,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. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByRouteFilterWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a subscription. + * Gets all RouteFilterRules in a route filter. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeFilterName The name of the route filter. * * @param {object} [options] Optional Parameters. * @@ -22882,7 +23189,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {RouteFilterRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -22890,24 +23197,27 @@ 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. + * {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. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, callback: ServiceCallback): void; + listByRouteFilter(resourceGroupName: string, routeFilterName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route table. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -22920,14 +23230,16 @@ export interface RouteTables { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route table. + * Deletes the specified rule from a route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. + * + * @param {string} ruleName The name of the rule. * * @param {object} [options] Optional Parameters. * @@ -22955,39 +23267,37 @@ export interface RouteTables { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, routeTableName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, 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; /** - * Create or updates a route table in a specified resource group. + * Creates or updates a route in the specified route filter. * * @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 {string} routeFilterName The name of the route filter. * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. + * @param {string} ruleName The name of the route filter rule. * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' * - * @param {string} [parameters.etag] Gets 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} [parameters.id] Resource ID. + * @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} [parameters.location] Resource location. + * @param {string} [routeFilterRuleParameters.location] Resource location. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -22996,40 +23306,38 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.RouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Create or updates a route table in a specified resource group. + * Creates or updates a route in the specified route filter. * * @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 {string} routeFilterName The name of the route filter. * - * @param {array} [parameters.routes] Collection of routes contained within a - * route table. + * @param {string} ruleName The name of the route filter rule. * - * @param {boolean} [parameters.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. + * @param {object} routeFilterRuleParameters Parameters supplied to the create + * or update route filter rule operation. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + * @param {string} routeFilterRuleParameters.access The access type of the + * rule. Valid values are: 'Allow', 'Deny'. Possible values include: 'Allow', + * 'Deny' * - * @param {string} [parameters.etag] Gets 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} [parameters.id] Resource ID. + * @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} [parameters.location] Resource location. + * @param {string} [routeFilterRuleParameters.location] Resource location. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} [routeFilterRuleParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -23043,7 +23351,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23051,28 +23359,38 @@ 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. + * {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, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, 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; /** - * Updates a route table tags. + * Updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update route table tags. + * @param {string} ruleName The name of the route filter rule. * - * @param {object} [parameters.tags] Resource tags. + * @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. * @@ -23081,22 +23399,32 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, routeFilterName: string, ruleName: string, routeFilterRuleParameters: models.PatchRouteFilterRule, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a route table tags. + * Updates a route in the specified route filter. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. + * @param {string} routeFilterName The name of the route filter. * - * @param {object} parameters Parameters supplied to update route table tags. + * @param {string} ruleName The name of the route filter rule. * - * @param {object} [parameters.tags] Resource tags. + * @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. * @@ -23110,7 +23438,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTable} - The deserialized result object. + * @resolve {RouteFilterRule} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23118,20 +23446,20 @@ export interface RouteTables { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {RouteTable} [result] - The deserialized result object if an error did not occur. - * See {@link RouteTable} for more information. + * {RouteFilterRule} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRule} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdate(resourceGroupName: string, 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 route tables in a resource group. + * Gets all RouteFilterRules in a route filter. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23143,14 +23471,14 @@ export interface RouteTables { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByRouteFilterNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a resource group. + * Gets all RouteFilterRules in a route filter. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23167,7 +23495,7 @@ export interface RouteTables { * * {Promise} A promise is returned. * - * @resolve {RouteTableListResult} - The deserialized result object. + * @resolve {RouteFilterRuleListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23175,23 +23503,34 @@ 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. + * {RouteFilterRuleListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteFilterRuleListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByRouteFilterNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByRouteFilterNext(nextPageLink: string, callback: ServiceCallback): void; + listByRouteFilterNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * RouteTables + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface RouteTables { /** - * Gets all route tables in a subscription. + * Deletes the specified route table. * - * @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} [options] Optional Parameters. * @@ -23200,17 +23539,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. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all route tables in a subscription. + * Deletes the specified route table. * - * @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} [options] Optional Parameters. * @@ -23224,7 +23564,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. * @@ -23232,60 +23572,50 @@ 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. */ - 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 { + 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; /** - * Deletes the specified route from a route table. + * Gets 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} [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, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route from a route table. + * Gets 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} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -23296,7 +23626,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23304,25 +23634,46 @@ 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. + * {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. */ - 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; + 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 the specified route from a route table. + * 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 {string} routeName The name of the route. + * @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. * @@ -23331,20 +23682,40 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified route from a route table. + * 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 {string} routeName The name of the route. + * @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. * @@ -23358,7 +23729,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23366,54 +23737,28 @@ 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. + * {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. */ - 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; + 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; /** - * Creates or updates a route in the specified route table. + * Updates a route table tags. * * @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 {object} parameters Parameters supplied to update route table tags. * - * @param {string} [routeParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23422,48 +23767,22 @@ 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>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route table. + * Updates a route table tags. * * @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 {object} parameters Parameters supplied to update route table tags. * - * @param {string} [routeParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23477,7 +23796,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23485,25 +23804,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. + * {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, 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; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all routes in a route table. + * Gets all route tables in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -23511,19 +23828,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>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all routes in a route table. + * Gets all route tables in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} routeTableName The name of the route table. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -23536,7 +23851,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {RouteListResult} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23544,26 +23859,20 @@ 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. + * {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, 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; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified route from a 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. + * Gets all route tables in a subscription. * * @param {object} [options] Optional Parameters. * @@ -23572,20 +23881,14 @@ export interface Routes { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified route from a 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. + * Gets all route tables in a subscription. * * @param {object} [options] Optional Parameters. * @@ -23599,7 +23902,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23607,104 +23910,45 @@ 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. + * {RouteTableListResult} [result] - The deserialized result object if an error did not occur. + * See {@link RouteTableListResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, 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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a route in the specified route table. + * Deletes 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. - * - * @param {string} [routeParameters.id] Resource ID. - * - * @param {object} [options] Optional Parameters. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a route in the specified route table. + * Deletes 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. - * - * @param {string} [routeParameters.id] Resource ID. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -23717,7 +23961,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {Route} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23725,23 +23969,45 @@ 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. + * {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, 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; + 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; /** - * Gets all routes in a route table. + * 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. * @@ -23750,17 +24016,40 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all routes in a route table. + * 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. * @@ -23774,7 +24063,7 @@ export interface Routes { * * {Promise} A promise is returned. * - * @resolve {RouteListResult} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23782,29 +24071,28 @@ 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. + * {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. */ - 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 { + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, routeTableName: string, parameters: models.RouteTable, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the available bgp service communities. + * Updates a route table tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23813,14 +24101,22 @@ 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>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the available bgp service communities. + * Updates a route table tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} routeTableName The name of the route table. + * + * @param {object} parameters Parameters supplied to update route table tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -23834,7 +24130,7 @@ export interface BgpServiceCommunities { * * {Promise} A promise is returned. * - * @resolve {BgpServiceCommunityListResult} - The deserialized result object. + * @resolve {RouteTable} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23842,21 +24138,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. + * {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(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(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 the available bgp service communities. + * Gets all route tables in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23868,14 +24163,14 @@ export interface BgpServiceCommunities { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the available bgp service communities. + * Gets all route tables in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -23892,7 +24187,7 @@ export interface BgpServiceCommunities { * * {Promise} A promise is returned. * - * @resolve {BgpServiceCommunityListResult} - The deserialized result object. + * @resolve {RouteTableListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -23900,32 +24195,23 @@ 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. + * {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 - * Usages - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface Usages { + 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 network usages for a subscription. + * Gets all route tables in a subscription. * - * @param {string} location The location where resource usage is queried. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23934,16 +24220,17 @@ 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>; + listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * List network usages for a subscription. + * Gets all route tables in a subscription. * - * @param {string} location The location where resource usage is queried. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -23957,7 +24244,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. * @@ -23965,90 +24252,35 @@ 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. */ - 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; -} + 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 - * VirtualNetworks + * Routes * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface VirtualNetworks { +export interface Routes { /** - * Deletes the specified virtual network. + * 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 {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -24061,14 +24293,16 @@ export interface VirtualNetworks { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. + * 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 {string} routeName The name of the route. * * @param {object} [options] Optional Parameters. * @@ -24096,43 +24330,43 @@ export interface VirtualNetworks { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, 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; /** - * Gets the specified virtual network by resource group. + * 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 {object} [options] Optional Parameters. + * @param {string} routeName The name of the route. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network by resource group. + * 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 {object} [options] Optional Parameters. + * @param {string} routeName The name of the route. * - * @param {string} [options.expand] Expands referenced resources. + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -24144,7 +24378,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. * @@ -24152,72 +24386,54 @@ 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. */ - get(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, 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; /** - * Creates or updates a virtual network in the specified resource group. + * 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 {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 {string} routeTableName The name of the route table. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {string} routeName The name of the route. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. * - * @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} 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 {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @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 {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @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} [parameters.etag] Gets a unique read-only string that + * @param {string} [routeParameters.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} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24226,66 +24442,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. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network in the specified resource group. + * 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 {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 {string} routeTableName The name of the route table. * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. + * @param {string} routeName The name of the route. * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. + * @param {object} routeParameters Parameters supplied to the create or update + * route operation. * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. + * @param {string} [routeParameters.addressPrefix] The destination CIDR to + * which the route applies. * - * @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} 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 {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. + * @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 {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. + * @param {string} [routeParameters.provisioningState] The provisioning state + * of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. + * @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} [parameters.etag] Gets a unique read-only string that + * @param {string} [routeParameters.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} [routeParameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -24299,7 +24497,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. * @@ -24307,29 +24505,24 @@ 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. */ - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, 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; /** - * Updates a virtual network tags. + * 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 update virtual network - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -24338,23 +24531,18 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. + * 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 update virtual network - * tags. - * - * @param {object} [parameters.tags] Resource tags. + * @param {string} routeTableName The name of the route table. * * @param {object} [options] Optional Parameters. * @@ -24368,7 +24556,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {RouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24376,20 +24564,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. + * {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. */ - 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; + 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; /** - * Gets all virtual networks in a subscription. + * Deletes the specified route from a 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} [options] Optional Parameters. * @@ -24398,14 +24592,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. */ - listAllWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Deletes the specified route from a 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} [options] Optional Parameters. * @@ -24419,7 +24619,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24427,24 +24627,54 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listAll(callback: ServiceCallback): void; - listAll(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; /** - * Gets all virtual networks in a resource group. + * 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. + * + * @param {string} [routeParameters.id] Resource ID. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -24452,17 +24682,49 @@ 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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, routeTableName: string, routeName: string, routeParameters: models.Route, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a resource group. + * 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. + * + * @param {string} [routeParameters.id] Resource ID. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -24475,7 +24737,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {Route} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24483,52 +24745,45 @@ 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. + * {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. */ - 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, 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; /** - * Checks whether a private IP address is available for use. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all routes in a route table. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.ipAddress] The private IP address to be verified. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Checks whether a private IP address is available for use. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all routes in a route table. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @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 * @@ -24539,7 +24794,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {IPAddressAvailabilityResult} - The deserialized result object. + * @resolve {RouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24547,25 +24802,29 @@ 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. + * {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. */ - 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; + 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 { /** - * Lists usage stats. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. + * Gets all the available bgp service communities. * * @param {object} [options] Optional Parameters. * @@ -24574,18 +24833,14 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listUsageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(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. + * Gets all the available bgp service communities. * * @param {object} [options] Optional Parameters. * @@ -24599,7 +24854,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. * @@ -24607,25 +24862,24 @@ 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. */ - listUsage(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listUsage(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - listUsage(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the available bgp service communities. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24634,18 +24888,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. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all the available bgp service communities. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24659,7 +24912,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {BgpServiceCommunityListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24667,71 +24920,32 @@ 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. + * {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. */ - 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; - + 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 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. +/** + * @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 {object} [parameters.tags] Resource tags. + * @param {string} location The location where resource usage is queried. * * @param {object} [options] Optional Parameters. * @@ -24740,66 +24954,16 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(location: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network in the specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {object} parameters Parameters supplied to the create or update - * virtual network operation - * - * @param {object} [parameters.addressSpace] The AddressSpace that contains an - * array of IP address ranges that can be used by subnets. - * - * @param {array} [parameters.addressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. - * - * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an - * array of DNS servers available to VMs deployed in the virtual network. - * - * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers - * IP addresses. - * - * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. - * - * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a - * Virtual Network. - * - * @param {string} [parameters.resourceGuid] The resourceGuid property of the - * Virtual Network resource. - * - * @param {string} [parameters.provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * - * @param {boolean} [parameters.enableDdosProtection] Indicates if DDoS - * protection is enabled for all the protected resources in the virtual - * network. It requires a DDoS protection plan associated with the resource. - * - * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection - * is enabled for all the subnets in the virtual network. - * - * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan - * associated with the virtual network. - * - * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. - * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. + * List network usages for a subscription. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} location The location where resource usage is queried. * * @param {object} [options] Optional Parameters. * @@ -24813,7 +24977,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {UsagesListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24821,29 +24985,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. + * {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. */ - 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; + 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; /** - * 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. + * List network usages for a subscription. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24852,23 +25010,17 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. - * - * @param {object} parameters Parameters supplied to update virtual network - * tags. + * List network usages for a subscription. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -24882,7 +25034,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetwork} - The deserialized result object. + * @resolve {UsagesListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24890,23 +25042,33 @@ 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. + * {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. */ - beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VirtualNetworks + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworks { /** - * Gets all virtual networks in a subscription. + * Deletes the specified virtual network. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -24915,17 +25077,18 @@ export interface VirtualNetworks { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listAllNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a subscription. + * Deletes the specified virtual network. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -24939,7 +25102,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -24947,46 +25110,50 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListResult} for more - * 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, 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 all virtual networks in a resource group. + * Gets the specified virtual network by resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {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>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual networks in a resource group. + * Gets the specified virtual network by resource group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -24997,7 +25164,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListResult} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25005,43 +25172,140 @@ 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. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Lists usage stats. + * Creates or updates a virtual network in 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 {object} [options] Optional Parameters. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to the create or update + * virtual network operation * - * @returns {Promise} A promise is returned + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @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. */ - listUsageNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists usage stats. + * Creates or updates a virtual network in 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} 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. * @@ -25055,7 +25319,7 @@ export interface VirtualNetworks { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25063,36 +25327,29 @@ export interface VirtualNetworks { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkListUsageResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkListUsageResult} for more - * information. + * {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. */ - 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 { + 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; /** - * Deletes the specified subnet. + * Updates a virtual network tags. * * @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} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25101,20 +25358,23 @@ export interface Subnets { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified subnet. + * Updates a virtual network tags. * * @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} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25128,7 +25388,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25136,54 +25396,39 @@ export interface Subnets { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + 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 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. + * Gets all virtual networks in a subscription. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllWithHttpOperationResponse(options?: { 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. + * Gets all virtual networks in a subscription. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.expand] Expands referenced resources. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -25194,7 +25439,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25202,197 +25447,108 @@ 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. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualNetworkName: string, 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; + listAll(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAll(callback: ServiceCallback): void; + listAll(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a subnet in the specified virtual network. + * Gets all virtual networks in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkName The name of the virtual network. + * @param {object} [options] Optional Parameters. * - * @param {string} subnetName The name of the subnet. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. + * @returns {Promise} A promise is returned * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all virtual networks in a resource group. * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. + * @param {object} [options] Optional Parameters. * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * {Promise} A promise is returned. * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * - * @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.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @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. + * {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} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.ipAddress] The private IP address to be verified. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + checkIPAddressAvailabilityWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a subnet in the specified virtual network. + * Checks whether a private IP address is available for use. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} subnetName The name of the subnet. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. - * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. - * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. - * - * @param {object} [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.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 {string} [options.ipAddress] The private IP address to be verified. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -25403,7 +25559,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {IPAddressAvailabilityResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25411,20 +25567,21 @@ 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. + * {IPAddressAvailabilityResult} [result] - The deserialized result object if an error did not occur. + * See {@link IPAddressAvailabilityResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, virtualNetworkName: string, 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; + checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, options?: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, options: { ipAddress? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all subnets in a virtual network. + * Lists usage stats. * * @param {string} resourceGroupName The name of the resource group. * @@ -25437,14 +25594,14 @@ export interface Subnets { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listUsageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all subnets in a virtual network. + * Lists usage stats. * * @param {string} resourceGroupName The name of the resource group. * @@ -25462,7 +25619,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {SubnetListResult} - The deserialized result object. + * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25470,27 +25627,26 @@ 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. + * {VirtualNetworkListUsageResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListUsageResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listUsage(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listUsage(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; + listUsage(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified subnet. + * Deletes the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} subnetName The name of the subnet. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -25502,17 +25658,15 @@ export interface Subnets { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified subnet. + * Deletes the specified virtual network. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} subnetName The name of the subnet. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -25539,187 +25693,133 @@ export interface Subnets { * * {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; + 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 subnet in the specified virtual network. + * Creates or updates a virtual network in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} subnetName The name of the subnet. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. + * @param {object} parameters Parameters supplied to the create or update + * virtual network operation * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. + * @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} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. + * @param {string} [parameters.location] Resource location. * - * @param {string} [subnetParameters.routeTable.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @param {object} [options] Optional Parameters. * - * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @returns {Promise} A promise is returned * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. - * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. - * - * @param {string} [subnetParameters.id] Resource ID. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request - * - * @returns {Promise} A promise is returned - * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @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>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a subnet in the specified virtual network. + * Creates or updates a virtual network in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkName The name of the virtual network. * - * @param {string} subnetName The name of the subnet. - * - * @param {object} subnetParameters Parameters supplied to the create or update - * subnet operation. - * - * @param {string} [subnetParameters.addressPrefix] The address prefix for the - * subnet. - * - * @param {object} [subnetParameters.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * - * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * - * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * - * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * - * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * - * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * - * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * @param {object} parameters Parameters supplied to the create or update + * virtual network operation * - * @param {string} [subnetParameters.networkSecurityGroup.location] Resource - * location. + * @param {object} [parameters.addressSpace] The AddressSpace that contains an + * array of IP address ranges that can be used by subnets. * - * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * @param {array} [parameters.addressSpace.addressPrefixes] A list of address + * blocks reserved for this virtual network in CIDR notation. * - * @param {object} [subnetParameters.routeTable] The reference of the - * RouteTable resource. + * @param {object} [parameters.dhcpOptions] The dhcpOptions that contains an + * array of DNS servers available to VMs deployed in the virtual network. * - * @param {array} [subnetParameters.routeTable.routes] Collection of routes - * contained within a route table. + * @param {array} [parameters.dhcpOptions.dnsServers] The list of DNS servers + * IP addresses. * - * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. + * @param {array} [parameters.subnets] A list of subnets in a Virtual Network. * - * @param {string} [subnetParameters.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. + * @param {array} [parameters.virtualNetworkPeerings] A list of peerings in a + * Virtual Network. * - * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only - * string that changes whenever the resource is updated. + * @param {string} [parameters.resourceGuid] The resourceGuid property of the + * Virtual Network resource. * - * @param {string} [subnetParameters.routeTable.id] Resource ID. + * @param {string} [parameters.provisioningState] The provisioning state of the + * PublicIP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. * - * @param {string} [subnetParameters.routeTable.location] Resource location. + * @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} [subnetParameters.routeTable.tags] Resource tags. + * @param {boolean} [parameters.enableVmProtection] Indicates if VM protection + * is enabled for all the subnets in the virtual network. * - * @param {array} [subnetParameters.serviceEndpoints] An array of service - * endpoints. + * @param {object} [parameters.ddosProtectionPlan] The DDoS protection plan + * associated with the virtual network. * - * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. + * @param {string} [parameters.ddosProtectionPlan.id] Resource ID. * - * @param {string} [subnetParameters.provisioningState] The provisioning state - * of the resource. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} [subnetParameters.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [subnetParameters.etag] A unique read-only string that - * changes whenever the resource is updated. + * @param {string} [parameters.location] Resource location. * - * @param {string} [subnetParameters.id] Resource ID. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25733,7 +25833,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {Subnet} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25741,23 +25841,29 @@ export interface Subnets { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {Subnet} [result] - The deserialized result object if an error did not occur. - * See {@link Subnet} for more information. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkName: string, parameters: models.VirtualNetwork, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all subnets in a virtual network. + * Updates a virtual network tags. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25766,17 +25872,23 @@ export interface Subnets { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all subnets in a virtual network. + * Updates a virtual network tags. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {object} parameters Parameters supplied to update virtual network + * tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -25790,7 +25902,7 @@ export interface Subnets { * * {Promise} A promise is returned. * - * @resolve {SubnetListResult} - The deserialized result object. + * @resolve {VirtualNetwork} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25798,36 +25910,23 @@ export interface Subnets { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {SubnetListResult} [result] - The deserialized result object if an error did not occur. - * See {@link SubnetListResult} for more information. + * {VirtualNetwork} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetwork} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VirtualNetworkPeerings - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworkPeerings { + 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; /** - * Deletes the specified virtual network peering. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. + * Gets all virtual networks in a subscription. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25836,21 +25935,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. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listAllNextWithHttpOperationResponse(nextPageLink: 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. + * Gets all virtual networks in a subscription. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25864,7 +25959,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25872,26 +25967,24 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 the specified virtual network peering. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkName The name of the virtual network. + * Gets all virtual networks in a resource group. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25900,21 +25993,17 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: 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. + * Gets all virtual networks in a resource group. * - * @param {string} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -25928,7 +26017,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {VirtualNetworkListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -25936,158 +26025,43 @@ export interface VirtualNetworkPeerings { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkPeering} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkPeering} for more information. + * {VirtualNetworkListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 peering in the specified virtual network. + * Lists usage stats. * - * @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} 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 {object} [options.customHeaders] Headers that will be added to the + * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, virtualNetworkPeeringParameters: models.VirtualNetworkPeering, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listUsageNextWithHttpOperationResponse(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. + * Lists usage stats. * - * @param {string} [virtualNetworkPeeringParameters.id] Resource ID. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -26101,7 +26075,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {VirtualNetworkListUsageResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26109,25 +26083,37 @@ 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. + * {VirtualNetworkListUsageResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkListUsageResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, 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; + listUsageNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listUsageNext(nextPageLink: string, callback: ServiceCallback): void; + listUsageNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * Subnets + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface Subnets { /** - * Gets all virtual network peerings in a virtual network. + * 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 @@ -26135,19 +26121,21 @@ export interface VirtualNetworkPeerings { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network peerings in a virtual network. + * 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 @@ -26160,7 +26148,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26168,54 +26156,54 @@ 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. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, virtualNetworkName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, virtualNetworkName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network peering. + * 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} virtualNetworkPeeringName The name of the virtual network - * peering. + * @param {string} subnetName The name of the subnet. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, virtualNetworkPeeringName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network peering. + * 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} virtualNetworkPeeringName The name of the virtual network - * peering. + * @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 * @@ -26226,7 +26214,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {Subnet} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26234,80 +26222,102 @@ 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. + * {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. */ - 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; + 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 peering in the specified virtual network. + * 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} virtualNetworkPeeringName The name of the peering. + * @param {string} subnetName The name of the subnet. * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet 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 {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @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} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. * - * @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 {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * @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} [virtualNetworkPeeringParameters.id] Resource ID. + * @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. * @@ -26316,75 +26326,96 @@ 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>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a peering in the specified virtual network. + * 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} virtualNetworkPeeringName The name of the peering. + * @param {string} subnetName The name of the subnet. * - * @param {object} virtualNetworkPeeringParameters Parameters supplied to the - * create or update virtual network peering operation. + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet 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 {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. * - * @param {boolean} [virtualNetworkPeeringParameters.allowForwardedTraffic] - * Whether the forwarded traffic from the VMs in the remote virtual network - * will be allowed/disallowed. + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. * - * @param {boolean} [virtualNetworkPeeringParameters.allowGatewayTransit] If - * gateway links can be used in remote virtual networking to link to this - * virtual network. + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. * - * @param {boolean} [virtualNetworkPeeringParameters.useRemoteGateways] If - * remote gateways can be used on this virtual network. If the flag is set to - * true, and allowGatewayTransit on remote peering is also true, virtual - * network will use gateways of remote virtual network for transit. Only one - * peering can have this flag set to true. This flag cannot be set if virtual - * network already has a gateway. + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. * - * @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} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. * - * @param {string} [virtualNetworkPeeringParameters.remoteVirtualNetwork.id] - * Resource ID. + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. * - * @param {object} [virtualNetworkPeeringParameters.remoteAddressSpace] The - * reference of the remote virtual network address space. + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. * - * @param {array} - * [virtualNetworkPeeringParameters.remoteAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. * - * @param {string} [virtualNetworkPeeringParameters.peeringState] The status of - * the virtual network peering. Possible values are 'Initiated', 'Connected', - * and 'Disconnected'. Possible values include: 'Initiated', 'Connected', - * 'Disconnected' + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. * - * @param {string} [virtualNetworkPeeringParameters.provisioningState] The - * provisioning state of the resource. + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. * - * @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 {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. * - * @param {string} [virtualNetworkPeeringParameters.etag] A unique read-only + * @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} [virtualNetworkPeeringParameters.id] Resource ID. + * @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. * @@ -26398,7 +26429,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeering} - The deserialized result object. + * @resolve {Subnet} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26406,23 +26437,24 @@ 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. + * {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, 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; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual network peerings in a virtual network. + * Gets all subnets in a virtual network. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -26431,17 +26463,18 @@ 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>; + listWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network peerings in a virtual network. + * Gets all subnets in a virtual network. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. * * @param {object} [options] Optional Parameters. * @@ -26455,7 +26488,7 @@ export interface VirtualNetworkPeerings { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkPeeringListResult} - The deserialized result object. + * @resolve {SubnetListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26463,134 +26496,1795 @@ 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. + * {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 - * VirtualNetworkGateways - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworkGateways { + 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; /** - * Creates or updates a virtual network gateway in the specified resource - * group. + * Deletes the specified subnet. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. + * @param {string} subnetName The name of the subnet. * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' + * @returns {Promise} A promise is returned * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {boolean} [parameters.activeActive] ActiveActive flag + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified subnet. * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * @param {string} virtualNetworkName The name of the virtual network. * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @param {string} subnetName The name of the subnet. * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {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 {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. + * + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. + * + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkName: string, subnetName: string, subnetParameters: models.Subnet, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a subnet in the specified virtual network. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkName The name of the virtual network. + * + * @param {string} subnetName The name of the subnet. + * + * @param {object} subnetParameters Parameters supplied to the create or update + * subnet operation. + * + * @param {string} [subnetParameters.addressPrefix] The address prefix for the + * subnet. + * + * @param {object} [subnetParameters.networkSecurityGroup] The reference of the + * NetworkSecurityGroup resource. + * + * @param {array} [subnetParameters.networkSecurityGroup.securityRules] A + * collection of security rules of the network security group. + * + * @param {array} [subnetParameters.networkSecurityGroup.defaultSecurityRules] + * The default security rules of network security group. + * + * @param {string} [subnetParameters.networkSecurityGroup.resourceGuid] The + * resource GUID property of the network security group resource. + * + * @param {string} [subnetParameters.networkSecurityGroup.provisioningState] + * The provisioning state of the public IP resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.networkSecurityGroup.etag] A unique + * read-only string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.networkSecurityGroup.id] Resource ID. + * + * @param {string} [subnetParameters.networkSecurityGroup.location] Resource + * location. + * + * @param {object} [subnetParameters.networkSecurityGroup.tags] Resource tags. + * + * @param {object} [subnetParameters.routeTable] The reference of the + * RouteTable resource. + * + * @param {array} [subnetParameters.routeTable.routes] Collection of routes + * contained within a route table. + * + * @param {boolean} [subnetParameters.routeTable.disableBgpRoutePropagation] + * Gets or sets whether to disable the routes learned by BGP on that route + * table. True means disable. + * + * @param {string} [subnetParameters.routeTable.provisioningState] The + * provisioning state of the resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + * + * @param {string} [subnetParameters.routeTable.etag] Gets a unique read-only + * string that changes whenever the resource is updated. + * + * @param {string} [subnetParameters.routeTable.id] Resource ID. + * + * @param {string} [subnetParameters.routeTable.location] Resource location. + * + * @param {object} [subnetParameters.routeTable.tags] Resource tags. + * + * @param {array} [subnetParameters.serviceEndpoints] An array of service + * endpoints. + * + * @param {array} [subnetParameters.serviceEndpointPolicies] An array of + * service endpoint policies. + * + * @param {array} [subnetParameters.resourceNavigationLinks] Gets an array of + * references to the external resources using subnet. + * + * @param {string} [subnetParameters.provisioningState] The provisioning state + * of the resource. + * + * @param {string} [subnetParameters.name] The name of the resource that is + * unique within a resource group. This name can be used to access the + * resource. + * + * @param {string} [subnetParameters.etag] A unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [subnetParameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @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 + * VirtualNetworkGateways + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworkGateways { + + + /** + * Creates or updates a virtual network gateway in the specified resource + * group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. + * + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. + * + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' + * + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' + * + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. + * + * @param {boolean} [parameters.activeActive] ActiveActive flag + * + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. + * + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * + * @param {object} [parameters.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + * + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' + * + * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' + * + * @param {number} [parameters.sku.capacity] The capacity. + * + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. + * + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn + * client connection. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. + * + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. + * + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGateway resource. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a virtual network gateway in the specified resource + * group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. + * + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. + * + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' + * + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' + * + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. + * + * @param {boolean} [parameters.activeActive] ActiveActive flag + * + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. + * + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * + * @param {object} [parameters.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + * + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', * 'ErGw2AZ', 'ErGw3AZ' * - * @param {number} [parameters.sku.capacity] The capacity. + * @param {number} [parameters.sku.capacity] The capacity. + * + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. + * + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. + * + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. + * + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn + * client connection. + * + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. + * + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. + * + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGateway resource. + * + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 {VirtualNetworkGateway} - 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. + * + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets the specified virtual network gateway by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {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, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets the specified virtual network gateway by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {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 {VirtualNetworkGateway} - 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. + * + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified virtual network gateway. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified virtual network gateway. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {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, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates a virtual network gateway tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to update virtual network + * gateway 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, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates a virtual network gateway tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to update virtual network + * gateway 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 {VirtualNetworkGateway} - 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. + * + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all virtual network gateways by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all virtual network gateways by resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {VirtualNetworkGatewayListResult} - 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. + * + * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListResult} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + 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 connections in a virtual network gateway. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + listConnectionsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the connections in a virtual network gateway. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {VirtualNetworkGatewayListConnectionsResult} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListConnectionsResult} + * for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Resets the primary of the virtual network gateway in the specified resource + * group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + resetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Resets the primary of the virtual network gateway in the specified resource + * group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @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 {VirtualNetworkGateway} - 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. + * + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + reset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + reset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + reset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + generatevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' * - * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP - * speaker settings. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * {Promise} A promise is returned. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @resolve {String} - The deserialized result object. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} [parameters.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.id] Resource ID. + * {String} [result] - The deserialized result object if an error did not occur. * - * @param {string} [parameters.location] Resource location. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {object} [parameters.tags] Resource tags. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * * @param {object} [options] Optional Parameters. * @@ -26599,118 +28293,232 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + generateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network gateway in the specified resource - * group. + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {String} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {String} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {String} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {String} [result] - The deserialized result object if an error did not occur. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {boolean} [parameters.activeActive] ActiveActive flag + * @reject {Error|ServiceError} - The error object. + */ + getBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. * - * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {number} [parameters.sku.capacity] The capacity. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * {Promise} A promise is returned. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * @resolve {BgpPeerStatusListResult} - The deserialized result object. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @reject {Error|ServiceError} - The error object. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpPeerStatusListResult} for more + * information. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets a xml format representation for supported vpn devices. * - * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP - * speaker settings. + * @param {string} resourceGroupName The name of the resource group. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.id] Resource ID. + * @reject {Error|ServiceError} - The error object. + */ + supportedVpnDevicesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets a xml format representation for supported vpn devices. * - * @param {string} [parameters.location] Resource location. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -26724,7 +28532,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26732,20 +28540,20 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * {String} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified virtual network gateway by resource group. + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. * * @param {string} resourceGroupName The name of the resource group. * @@ -26759,14 +28567,15 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network gateway by resource group. + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. * * @param {string} resourceGroupName The name of the resource group. * @@ -26785,7 +28594,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {GatewayRouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26793,26 +28602,30 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network gateway. + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * + * @param {string} peer The IP address of the peer + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -26820,20 +28633,23 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network gateway. + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * + * @param {string} peer The IP address of the peer + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -26846,7 +28662,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {GatewayRouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26854,29 +28670,64 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; + getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a virtual network gateway tags. + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. + * + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. + * + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' * * @param {object} [options] Optional Parameters. * @@ -26885,24 +28736,57 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + setVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway tags. + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. + * + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. + * + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + * + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' * * @param {object} [options] Optional Parameters. * @@ -26916,7 +28800,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {VpnClientIPsecParameters} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26924,23 +28808,28 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; + setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual network gateways by resource group. + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -26948,17 +28837,21 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network gateways by resource group. + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -26971,7 +28864,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListResult} - The deserialized result object. + * @resolve {VpnClientIPsecParameters} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -26979,26 +28872,37 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListResult} for more + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the connections in a virtual network gateway. + * Gets a xml format representation for vpn device configuration script. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection for which the configuration script is generated. + * + * @param {object} parameters Parameters supplied to the generate vpn device + * script operation. + * + * @param {string} [parameters.vendor] The vendor for the vpn device. + * + * @param {string} [parameters.deviceFamily] The device family for the vpn + * device. + * + * @param {string} [parameters.firmwareVersion] The firmware version for the + * vpn device. * * @param {object} [options] Optional Parameters. * @@ -27007,19 +28911,30 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listConnectionsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + vpnDeviceConfigurationScriptWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the connections in a virtual network gateway. + * Gets a xml format representation for vpn device configuration script. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection for which the configuration script is generated. + * + * @param {object} parameters Parameters supplied to the generate vpn device + * script operation. + * + * @param {string} [parameters.vendor] The vendor for the vpn device. + * + * @param {string} [parameters.deviceFamily] The device family for the vpn + * device. + * + * @param {string} [parameters.firmwareVersion] The firmware version for the + * vpn device. * * @param {object} [options] Optional Parameters. * @@ -27033,7 +28948,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListConnectionsResult} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27041,21 +28956,19 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListConnectionsResult} - * for more information. + * {String} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - listConnections(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, callback: ServiceCallback): void; + vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Resets the primary of the virtual network gateway in the specified resource + * Creates or updates a virtual network gateway in the specified resource * group. * * @param {string} resourceGroupName The name of the resource group. @@ -27063,94 +28976,103 @@ export interface VirtualNetworkGateways { * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. * - * @param {string} [options.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' * - * @returns {Promise} A promise is returned + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. * - * @reject {Error|ServiceError} - The error object. - */ - resetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Resets the primary of the virtual network gateway in the specified resource - * group. + * @param {boolean} [parameters.activeActive] ActiveActive flag * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. * - * @param {object} [options] Optional Parameters. + * @param {object} [parameters.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. * - * @param {string} [options.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {number} [parameters.sku.capacity] The capacity. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. * - * {Promise} A promise is returned. + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. * - * @reject {Error|ServiceError} - The error object. + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn + * client connection. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - reset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - reset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - reset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Generates VPN client package for P2S client of the virtual network gateway - * in the specified resource group. + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGateway resource. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -27159,142 +29081,118 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - generatevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Generates VPN client package for P2S client of the virtual network gateway - * in the specified resource group. + * Creates or updates a virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. - * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' - * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. - * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} parameters Parameters supplied to create or update virtual + * network gateway operation. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} [parameters.ipConfigurations] IP configurations for virtual + * network gateway. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [parameters.gatewayType] The type of this virtual network + * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values + * include: 'Vpn', 'ExpressRoute' * - * {Promise} A promise is returned. + * @param {string} [parameters.vpnType] The type of this virtual network + * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible + * values include: 'PolicyBased', 'RouteBased' * - * @resolve {String} - The deserialized result object. + * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this + * virtual network gateway or not. * - * @reject {Error|ServiceError} - The error object. + * @param {boolean} [parameters.activeActive] ActiveActive flag * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [parameters.gatewayDefaultSite] The reference of the + * LocalNetworkGateway resource which represents local network site having + * default routes. Assign Null value in case of removing existing default site + * setting. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. * - * {String} [result] - The deserialized result object if an error did not occur. + * @param {object} [parameters.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.sku.name] Gateway SKU name. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - generatevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values + * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', + * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', + * 'ErGw2AZ', 'ErGw3AZ' * - * @param {string} resourceGroupName The name of the resource group. + * @param {number} [parameters.sku.capacity] The capacity. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {object} [parameters.vpnClientConfiguration] The reference of the + * VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The + * reference of the address space resource which represents Address space for + * P2S VpnClient. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {array} + * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. * - * @param {object} [options] Optional Parameters. + * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The + * radius server address property of the VirtualNetworkGateway resource for vpn + * client connection. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The + * radius secret property of the VirtualNetworkGateway resource for vpn client + * connection. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP + * speaker settings. * - * @reject {Error|ServiceError} - The error object. - */ - generateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGateway resource. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {string} [parameters.id] Resource ID. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {string} [parameters.location] Resource location. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -27308,7 +29206,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27316,21 +29214,20 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - generateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. + * Deletes the specified virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * @@ -27344,16 +29241,14 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. + * Deletes the specified virtual network gateway. * * @param {string} resourceGroupName The name of the resource group. * @@ -27372,7 +29267,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27380,53 +29275,57 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * Updates a virtual network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters supplied to update virtual network + * gateway tags. * - * @param {string} [options.peer] The IP address of the peer to retrieve the - * status of. + * @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. */ - getBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * Updates a virtual network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters Parameters supplied to update virtual network + * gateway tags. * - * @param {string} [options.peer] The IP address of the peer to retrieve the - * status of. + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request @@ -27438,7 +29337,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {BgpPeerStatusListResult} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27446,21 +29345,21 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpPeerStatusListResult} for more - * information. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets a xml format representation for supported vpn devices. + * Resets the primary of the virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * @@ -27469,19 +29368,23 @@ export interface VirtualNetworkGateways { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - supportedVpnDevicesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginResetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a xml format representation for supported vpn devices. + * Resets the primary of the virtual network gateway in the specified resource + * group. * * @param {string} resourceGroupName The name of the resource group. * @@ -27490,6 +29393,9 @@ export interface VirtualNetworkGateways { * * @param {object} [options] Optional Parameters. * + * @param {string} [options.gatewayVip] Virtual network gateway vip address + * supplied to the begin reset of the active-active feature enabled gateway. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -27500,7 +29406,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {VirtualNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27508,26 +29414,47 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - supportedVpnDevices(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27535,21 +29462,41 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGeneratevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. + * Generates VPN client package for P2S client of the virtual network gateway + * in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27562,7 +29509,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {GatewayRouteListResult} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27570,29 +29517,45 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} for more - * information. + * {String} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {string} peer The IP address of the peer + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * * @param {object} [options] Optional Parameters. * @@ -27601,22 +29564,40 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGenerateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * Generates VPN profile for P2S client of the virtual network gateway in the + * specified resource group. Used for IKEV2 and radius based authentication. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {string} peer The IP address of the peer + * @param {object} parameters Parameters supplied to the generate virtual + * network gateway VPN client package operation. + * + * @param {string} [parameters.processorArchitecture] VPN client Processor + * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + * + * @param {string} [parameters.authenticationMethod] VPN client Authentication + * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values + * include: 'EAPTLS', 'EAPMSCHAPv2' + * + * @param {string} [parameters.radiusServerAuthCertificate] The public + * certificate data for the radius server authentication certificate as a + * Base-64 encoded string. Required only if external radius authentication has + * been configured with EAPTLS authentication. + * + * @param {array} [parameters.clientRootCertificates] A list of client root + * certificates public certificate data encoded as Base-64 strings. Optional + * parameter for external radius based authentication with EAPTLS. * * @param {object} [options] Optional Parameters. * @@ -27630,7 +29611,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {GatewayRouteListResult} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27638,65 +29619,27 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} for more - * information. + * {String} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; - getAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; + beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. - * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. - * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. - * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27704,58 +29647,22 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - setVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * Gets pre-generated VPN profile for P2S client of the virtual network gateway + * in the specified resource group. The profile needs to be generated first + * using generateVpnProfile. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. - * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. - * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. - * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' - * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -27768,7 +29675,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @resolve {String} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27776,52 +29683,54 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} for more - * information. + * {String} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; - setVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * The GetBgpPeerStatus operation retrieves the status of all BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.peer] The IP address of the peer to retrieve the + * status of. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -27832,7 +29741,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @resolve {BgpPeerStatusListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27840,37 +29749,27 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} for more + * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. + * See {@link BgpPeerStatusListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - getVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets a xml format representation for vpn device configuration script. + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection for which the configuration script is generated. - * - * @param {object} parameters Parameters supplied to the generate vpn device - * script operation. - * - * @param {string} [parameters.vendor] The vendor for the vpn device. - * - * @param {string} [parameters.deviceFamily] The device family for the vpn - * device. - * - * @param {string} [parameters.firmwareVersion] The firmware version for the - * vpn device. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -27879,30 +29778,20 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - vpnDeviceConfigurationScriptWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginGetLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets a xml format representation for vpn device configuration script. + * This operation retrieves a list of routes the virtual network gateway has + * learned, including routes learned from BGP peers. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection for which the configuration script is generated. - * - * @param {object} parameters Parameters supplied to the generate vpn device - * script operation. - * - * @param {string} [parameters.vendor] The vendor for the vpn device. - * - * @param {string} [parameters.deviceFamily] The device family for the vpn - * device. - * - * @param {string} [parameters.firmwareVersion] The firmware version for the - * vpn device. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -27916,7 +29805,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {GatewayRouteListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -27924,123 +29813,132 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, callback: ServiceCallback): void; - vpnDeviceConfigurationScript(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VpnDeviceScriptParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a virtual network gateway in the specified resource - * group. + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. + * @param {string} peer The IP address of the peer * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' + * @returns {Promise} A promise is returned * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {boolean} [parameters.activeActive] ActiveActive flag + * @reject {Error|ServiceError} - The error object. + */ + beginGetAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * This operation retrieves a list of routes the virtual network gateway is + * advertising to the specified peer. * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @param {string} peer The IP address of the peer * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {number} [parameters.sku.capacity] The capacity. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * {Promise} A promise is returned. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * @resolve {GatewayRouteListResult} - The deserialized result object. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @reject {Error|ServiceError} - The error object. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. + * See {@link GatewayRouteListResult} for more + * information. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; + beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. * - * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP - * speaker settings. + * @param {string} resourceGroupName The name of the resource group. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {string} virtualNetworkGatewayName The name of the virtual network + * gateway. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' * - * @param {string} [parameters.id] Resource ID. + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' * - * @param {string} [parameters.location] Resource location. + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' * - * @param {object} [parameters.tags] Resource tags. + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + * + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' * * @param {object} [options] Optional Parameters. * @@ -28049,118 +29947,121 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginSetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network gateway in the specified resource - * group. + * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy + * for P2S client of virtual network gateway in the specified resource group + * through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayName The name of the virtual network * gateway. * - * @param {object} parameters Parameters supplied to create or update virtual - * network gateway operation. + * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set + * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation + * through Network resource provider. * - * @param {array} [parameters.ipConfigurations] IP configurations for virtual - * network gateway. + * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. * - * @param {string} [parameters.gatewayType] The type of this virtual network - * gateway. Possible values are: 'Vpn' and 'ExpressRoute'. Possible values - * include: 'Vpn', 'ExpressRoute' + * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security + * Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. * - * @param {string} [parameters.vpnType] The type of this virtual network - * gateway. Possible values are: 'PolicyBased' and 'RouteBased'. Possible - * values include: 'PolicyBased', 'RouteBased' + * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption + * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' * - * @param {boolean} [parameters.enableBgp] Whether BGP is enabled for this - * virtual network gateway or not. + * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity + * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' * - * @param {boolean} [parameters.activeActive] ActiveActive flag + * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption + * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' * - * @param {object} [parameters.gatewayDefaultSite] The reference of the - * LocalNetworkGateway resource which represents local network site having - * default routes. Assign Null value in case of removing existing default site - * setting. + * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity + * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' * - * @param {string} [parameters.gatewayDefaultSite.id] Resource ID. + * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase + * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', + * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' * - * @param {object} [parameters.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE + * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', + * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' * - * @param {string} [parameters.sku.name] Gateway SKU name. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.sku.tier] Gateway SKU tier. Possible values - * include: 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', - * 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {number} [parameters.sku.capacity] The capacity. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {object} [parameters.vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {object} [parameters.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. + * {Promise} A promise is returned. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * @resolve {VpnClientIPsecParameters} - The deserialized result object. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @reject {Error|ServiceError} - The error object. * - * @param {array} - * [parameters.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {array} [parameters.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {array} [parameters.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} for more + * information. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; + beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. * - * @param {object} [parameters.bgpSettings] Virtual network gateway's BGP - * speaker settings. + * @param {string} resourceGroupName The name of the resource group. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {string} virtualNetworkGatewayName The virtual network gateway name. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.id] Resource ID. + * @reject {Error|ServiceError} - The error object. + */ + beginGetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The Get VpnclientIpsecParameters operation retrieves information about the + * vpnclient ipsec policy for P2S client of virtual network gateway in the + * specified resource group through Network resource provider. * - * @param {string} [parameters.location] Resource location. + * @param {string} resourceGroupName The name of the resource group. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualNetworkGatewayName The virtual network gateway name. * * @param {object} [options] Optional Parameters. * @@ -28174,7 +30075,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {VpnClientIPsecParameters} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28182,25 +30083,24 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. + * See {@link VpnClientIPsecParameters} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VirtualNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; + beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network gateway. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all virtual network gateways by resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28209,19 +30109,17 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network gateway. - * - * @param {string} resourceGroupName The name of the resource group. + * Gets all virtual network gateways by resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28235,7 +30133,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28243,29 +30141,24 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Updates a virtual network gateway tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * Gets all the connections in a virtual network gateway. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28274,24 +30167,17 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listConnectionsNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to update virtual network - * gateway tags. + * Gets all the connections in a virtual network gateway. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -28305,123 +30191,216 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @resolve {VirtualNetworkGatewayListConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayListConnectionsResult} + * for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listConnectionsNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listConnectionsNext(nextPageLink: string, callback: ServiceCallback): void; + listConnectionsNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VirtualNetworkGatewayConnections + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualNetworkGatewayConnections { + + + /** + * Creates or updates a virtual network gateway connection in the specified + * resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. + * + * @param {object} parameters Parameters supplied to the create or update + * virtual network gateway connection operation. + * + * @param {string} [parameters.authorizationKey] The authorizationKey. + * + * @param {object} parameters.virtualNetworkGateway1 The reference to virtual + * network gateway resource. + * + * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual + * network gateway resource. + * + * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP + * configurations for virtual network gateway. + * + * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of + * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. + * Possible values include: 'Vpn', 'ExpressRoute' + * + * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this + * virtual network gateway. Possible values are: 'PolicyBased' and + * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' + * + * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP + * is enabled for this virtual network gateway or not. + * + * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] + * ActiveActive flag + * + * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The + * reference of the LocalNetworkGateway resource which represents local network + * site having default routes. Assign Null value in case of removing existing + * default site setting. + * + * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + * + * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU + * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * + * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU + * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * + * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The + * capacity. + * + * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] + * The reference of the VpnClientConfiguration resource which represents the + * P2S VpnClient configurations. + * + * @param {object} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] + * The reference of the address space resource which represents Address space + * for P2S VpnClient. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. + * + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] + * The radius server address property of the VirtualNetworkGateway resource for + * vpn client connection. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] + * The radius secret property of the VirtualNetworkGateway resource for vpn + * client connection. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual + * network gateway's BGP speaker settings. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Resets the primary of the virtual network gateway in the specified resource - * group. + * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The + * resource GUID property of the VirtualNetworkGateway resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique + * read-only string that changes whenever the resource is updated. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. * - * @param {object} [options] Optional Parameters. + * @param {string} [parameters.virtualNetworkGateway2.location] Resource + * location. * - * @param {string} [options.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. + * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [parameters.localNetworkGateway2] The reference to local + * network gateway resource. * - * @returns {Promise} A promise is returned + * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] + * Local network site address space. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {array} + * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. * - * @reject {Error|ServiceError} - The error object. - */ - beginResetWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Resets the primary of the virtual network gateway in the specified resource - * group. + * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP + * address of local network gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network + * gateway's BGP speaker settings. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP + * speaker's ASN. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {string} [options.gatewayVip] Virtual network gateway vip address - * supplied to the begin reset of the active-active feature enabled gateway. + * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The + * weight added to routes learned from this BGP speaker. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource + * GUID property of the LocalNetworkGateway resource. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [parameters.localNetworkGateway2.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.localNetworkGateway2.id] Resource ID. * - * {Promise} A promise is returned. + * @param {string} [parameters.localNetworkGateway2.location] Resource + * location. * - * @resolve {VirtualNetworkGateway} - The deserialized result object. + * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. * - * @reject {Error|ServiceError} - The error object. + * @param {string} parameters.connectionType Gateway connection type. Possible + * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible + * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {number} [parameters.routingWeight] The routing weight. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [parameters.sharedKey] The IPSec shared key. * - * {VirtualNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGateway} for more information. + * @param {object} [parameters.peer] The reference to peerings resource. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.peer.id] Resource ID. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options: { gatewayVip? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Generates VPN client package for P2S client of the virtual network gateway - * in the specified resource group. + * @param {boolean} [parameters.enableBgp] EnableBgp flag * - * @param {string} resourceGroupName The name of the resource group. + * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable + * policy-based traffic selectors. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be + * considered by this connection. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGatewayConnection resource. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {string} [parameters.etag] Gets a unique read-only string that + * changes whenever the resource is updated. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {string} [parameters.id] Resource ID. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {string} [parameters.location] Resource location. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28430,206 +30409,192 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGeneratevpnclientpackageWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Generates VPN client package for P2S client of the virtual network gateway - * in the specified resource group. + * Creates or updates a virtual network gateway connection in the specified + * resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. - * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {object} parameters Parameters supplied to the create or update + * virtual network gateway connection operation. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {string} [parameters.authorizationKey] The authorizationKey. * - * @param {object} [options] Optional Parameters. + * @param {object} parameters.virtualNetworkGateway1 The reference to virtual + * network gateway resource. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual + * network gateway resource. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP + * configurations for virtual network gateway. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of + * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. + * Possible values include: 'Vpn', 'ExpressRoute' * - * {Promise} A promise is returned. + * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this + * virtual network gateway. Possible values are: 'PolicyBased' and + * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' * - * @resolve {String} - The deserialized result object. + * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP + * is enabled for this virtual network gateway or not. * - * @reject {Error|ServiceError} - The error object. + * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] + * ActiveActive flag * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The + * reference of the LocalNetworkGateway resource which represents local network + * site having default routes. Assign Null value in case of removing existing + * default site setting. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the + * VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. * - * {String} [result] - The deserialized result object if an error did not occur. + * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU + * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU + * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', + * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - beginGeneratevpnclientpackage(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The + * capacity. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] + * The reference of the VpnClientConfiguration resource which represents the + * P2S VpnClient configurations. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {object} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] + * The reference of the address space resource which represents Address space + * for P2S VpnClient. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] + * VpnClientRootCertificate for virtual network gateway. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] + * VpnClientRevokedCertificate for Virtual network gateway. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] + * VpnClientProtocols for Virtual network gateway. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {array} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] + * VpnClientIpsecPolicies for virtual network gateway P2S client. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] + * The radius server address property of the VirtualNetworkGateway resource for + * vpn client connection. * - * @param {object} [options] Optional Parameters. + * @param {string} + * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] + * The radius secret property of the VirtualNetworkGateway resource for vpn + * client connection. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual + * network gateway's BGP speaker settings. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The + * resource GUID property of the VirtualNetworkGateway resource. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique + * read-only string that changes whenever the resource is updated. * - * @reject {Error|ServiceError} - The error object. - */ - beginGenerateVpnProfileWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Generates VPN profile for P2S client of the virtual network gateway in the - * specified resource group. Used for IKEV2 and radius based authentication. + * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.virtualNetworkGateway2.location] Resource + * location. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. * - * @param {object} parameters Parameters supplied to the generate virtual - * network gateway VPN client package operation. + * @param {object} [parameters.localNetworkGateway2] The reference to local + * network gateway resource. * - * @param {string} [parameters.processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' + * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] + * Local network site address space. * - * @param {string} [parameters.authenticationMethod] VPN client Authentication - * Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values - * include: 'EAPTLS', 'EAPMSCHAPv2' + * @param {array} + * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A + * list of address blocks reserved for this virtual network in CIDR notation. * - * @param {string} [parameters.radiusServerAuthCertificate] The public - * certificate data for the radius server authentication certificate as a - * Base-64 encoded string. Required only if external radius authentication has - * been configured with EAPTLS authentication. + * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP + * address of local network gateway. * - * @param {array} [parameters.clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. + * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network + * gateway's BGP speaker settings. * - * @param {object} [options] Optional Parameters. + * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP + * speaker's ASN. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} + * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The + * weight added to routes learned from this BGP speaker. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource + * GUID property of the LocalNetworkGateway resource. * - * {Promise} A promise is returned. + * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only + * string that changes whenever the resource is updated. * - * @resolve {String} - The deserialized result object. + * @param {string} [parameters.localNetworkGateway2.id] Resource ID. * - * @reject {Error|ServiceError} - The error object. + * @param {string} [parameters.localNetworkGateway2.location] Resource + * location. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} parameters.connectionType Gateway connection type. Possible + * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible + * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' * - * {String} [result] - The deserialized result object if an error did not occur. + * @param {number} [parameters.routingWeight] The routing weight. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [parameters.sharedKey] The IPSec shared key. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, callback: ServiceCallback): void; - beginGenerateVpnProfile(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: models.VpnClientParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Gets pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. + * @param {object} [parameters.peer] The reference to peerings resource. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.peer.id] Resource ID. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {boolean} [parameters.enableBgp] EnableBgp flag * - * @param {object} [options] Optional Parameters. + * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable + * policy-based traffic selectors. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be + * considered by this connection. * - * @returns {Promise} A promise is returned + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * VirtualNetworkGatewayConnection resource. * - * @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. - */ - beginGetVpnProfilePackageUrlWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Gets pre-generated VPN profile for P2S client of the virtual network gateway - * in the specified resource group. The profile needs to be generated first - * using generateVpnProfile. + * @param {string} [parameters.id] Resource ID. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [parameters.location] Resource location. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28643,7 +30608,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {String} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28651,54 +30616,50 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {String} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * Gets the specified virtual network gateway connection by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.peer] The IP address of the peer to retrieve the - * status of. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetBgpPeerStatusWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The GetBgpPeerStatus operation retrieves the status of all BGP peers. + * Gets the specified virtual network gateway connection by resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * - * @param {string} [options.peer] The IP address of the peer to retrieve the - * status of. - * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -28709,7 +30670,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {BgpPeerStatusListResult} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28717,27 +30678,26 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {BgpPeerStatusListResult} [result] - The deserialized result object if an error did not occur. - * See {@link BgpPeerStatusListResult} for more + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { peer? : string, customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetBgpPeerStatus(resourceGroupName: string, virtualNetworkGatewayName: string, options: { peer? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. + * Deletes the specified virtual network Gateway connection. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * @@ -28746,20 +30706,19 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetLearnedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * This operation retrieves a list of routes the virtual network gateway has - * learned, including routes learned from BGP peers. + * Deletes the specified virtual network Gateway connection. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * * @param {object} [options] Optional Parameters. * @@ -28773,7 +30732,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {GatewayRouteListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28781,29 +30740,29 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} for more - * information. + * {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. */ - beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * Updates a virtual network gateway connection tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {string} peer The IP address of the peer + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28812,22 +30771,24 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetAdvertisedRoutesWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * This operation retrieves a list of routes the virtual network gateway is - * advertising to the specified peer. + * Updates a virtual network gateway connection tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. * - * @param {string} peer The IP address of the peer + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -28841,7 +30802,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {GatewayRouteListResult} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28849,64 +30810,38 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {GatewayRouteListResult} [result] - The deserialized result object if an error did not occur. - * See {@link GatewayRouteListResult} for more + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, callback: ServiceCallback): void; - beginGetAdvertisedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, peer: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. - * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. - * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. - * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * @param {string} parameters.value The virtual network connection shared key + * value. * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * @param {string} [parameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -28915,57 +30850,31 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginSetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + setSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy - * for P2S client of virtual network gateway in the specified resource group - * through Network resource provider. + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The name of the virtual network - * gateway. - * - * @param {object} vpnclientIpsecParams Parameters supplied to the Begin Set - * vpnclient ipsec parameters of Virtual Network Gateway P2S client operation - * through Network resource provider. - * - * @param {number} vpnclientIpsecParams.saLifeTimeSeconds The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for - * P2S client. - * - * @param {number} vpnclientIpsecParams.saDataSizeKilobytes The IPSec Security - * Association (also called Quick Mode or Phase 2 SA) payload size in KB for - * P2S client.. - * - * @param {string} vpnclientIpsecParams.ipsecEncryption The IPSec encryption - * algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', - * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ipsecIntegrity The IPSec integrity - * algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'GCMAES128', 'GCMAES192', 'GCMAES256' - * - * @param {string} vpnclientIpsecParams.ikeEncryption The IKE encryption - * algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', - * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. * - * @param {string} vpnclientIpsecParams.ikeIntegrity The IKE integrity - * algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', - * 'SHA384', 'GCMAES256', 'GCMAES128' + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. * - * @param {string} vpnclientIpsecParams.dhGroup The DH Groups used in IKE Phase - * 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', - * 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + * @param {string} parameters.value The virtual network connection shared key + * value. * - * @param {string} vpnclientIpsecParams.pfsGroup The Pfs Groups used in IKE - * Phase 2 for new child SA. Possible values include: 'None', 'PFS1', 'PFS2', - * 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + * @param {string} [parameters.id] Resource ID. * * @param {object} [options] Optional Parameters. * @@ -28979,7 +30888,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @resolve {ConnectionSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -28987,27 +30896,27 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} for more - * information. + * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionSharedKey} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, callback: ServiceCallback): void; - beginSetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, vpnclientIpsecParams: models.VpnClientIPsecParameters, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; + setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + * information about the specified virtual network gateway connection shared + * key through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection shared key name. * * @param {object} [options] Optional Parameters. * @@ -29016,20 +30925,21 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginGetVpnclientIpsecParametersWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Get VpnclientIpsecParameters operation retrieves information about the - * vpnclient ipsec policy for P2S client of virtual network gateway in the - * specified resource group through Network resource provider. + * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + * information about the specified virtual network gateway connection shared + * key through Network resource provider. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayName The virtual network gateway name. + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection shared key name. * * @param {object} [options] Optional Parameters. * @@ -29043,7 +30953,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VpnClientIPsecParameters} - The deserialized result object. + * @resolve {ConnectionSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29051,24 +30961,23 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnClientIPsecParameters} [result] - The deserialized result object if an error did not occur. - * See {@link VpnClientIPsecParameters} for more - * information. + * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionSharedKey} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, callback: ServiceCallback): void; - beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all virtual network gateways by resource group. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @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. * @@ -29077,17 +30986,17 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all virtual network gateways by resource group. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @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. * @@ -29101,7 +31010,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListResult} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29109,24 +31018,36 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListResult} for more - * information. + * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnectionListResult} + * for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the connections in a virtual network gateway. + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. + * + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. + * + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. * * @param {object} [options] Optional Parameters. * @@ -29135,17 +31056,29 @@ export interface VirtualNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listConnectionsNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + resetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the connections in a virtual network gateway. + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. + * + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. + * + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. * * @param {object} [options] Optional Parameters. * @@ -29159,7 +31092,7 @@ export interface VirtualNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayListConnectionsResult} - The deserialized result object. + * @resolve {ConnectionResetSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29167,26 +31100,17 @@ export interface VirtualNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayListConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayListConnectionsResult} - * for more information. + * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionResetSharedKey} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - listConnectionsNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listConnectionsNext(nextPageLink: string, callback: ServiceCallback): void; - listConnectionsNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VirtualNetworkGatewayConnections - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualNetworkGatewayConnections { + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; + resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** @@ -29381,7 +31305,7 @@ export interface VirtualNetworkGatewayConnections { * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** * Creates or updates a virtual network gateway connection in the specified @@ -29592,19 +31516,84 @@ export interface VirtualNetworkGatewayConnections { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified virtual network gateway connection by resource group. + * Deletes the specified virtual network Gateway connection. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway 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|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified virtual network Gateway connection. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The name of the virtual + * network gateway connection. + * + * @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, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates a virtual network gateway connection tags. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayConnectionName The name of the virtual * network gateway connection. * + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -29616,16 +31605,188 @@ export interface VirtualNetworkGatewayConnections { * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified virtual network gateway connection by resource group. + * Updates a virtual network gateway connection tags. * * @param {string} resourceGroupName The name of the resource group. * * @param {string} virtualNetworkGatewayConnectionName The name of the virtual * network gateway connection. * + * @param {object} parameters Parameters supplied to update virtual network + * gateway connection tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnection} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. + * + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. + * + * @param {string} parameters.value The virtual network connection shared key + * value. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginSetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual + * network gateway connection shared key for passed virtual network gateway + * connection in the specified resource group through Network resource + * provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection name. + * + * @param {object} parameters Parameters supplied to the Begin Set Virtual + * Network Gateway connection Shared key operation throughNetwork resource + * provider. + * + * @param {string} parameters.value The virtual network connection shared key + * value. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 {ConnectionSharedKey} - 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. + * + * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionSharedKey} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; + beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. + * + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. + * + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. + * + * @param {object} [options] Optional Parameters. + * + * @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. + */ + beginResetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + * virtual network gateway connection shared key for passed virtual network + * gateway connection in the specified resource group through Network resource + * provider. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} virtualNetworkGatewayConnectionName The virtual network + * gateway connection reset shared key Name. + * + * @param {object} parameters Parameters supplied to the begin reset virtual + * network gateway connection shared key operation through network resource + * provider. + * + * @param {number} parameters.keyLength The virtual network connection reset + * shared key length, should between 1 and 128. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -29638,7 +31799,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {ConnectionResetSharedKey} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29646,26 +31807,25 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more + * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. + * See {@link ConnectionResetSharedKey} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; + beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network Gateway connection. - * - * @param {string} resourceGroupName The name of the resource group. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -29674,19 +31834,18 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network Gateway connection. - * - * @param {string} resourceGroupName The name of the resource group. + * The List VirtualNetworkGatewayConnections operation retrieves all the + * virtual network gateways connections created. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -29700,7 +31859,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29708,27 +31867,68 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualNetworkGatewayConnectionListResult} + * for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * LocalNetworkGateways + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface LocalNetworkGateways { /** - * Updates a virtual network gateway connection tags. + * Creates or updates a local network gateway in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. + * + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. + * + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. + * + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. + * + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway 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. * @@ -29739,22 +31939,52 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway connection tags. + * Creates or updates a local network gateway in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. + * + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. + * + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. + * + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. + * + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. + * + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. + * + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway 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. * @@ -29770,7 +32000,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29778,38 +32008,25 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. + * Gets the specified local network gateway in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. - * - * @param {string} parameters.value The virtual network connection shared key - * value. - * - * @param {string} [parameters.id] Resource ID. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -29818,31 +32035,19 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - setSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. + * Gets the specified local network gateway in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. - * - * @param {string} parameters.value The virtual network connection shared key - * value. - * - * @param {string} [parameters.id] Resource ID. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -29856,7 +32061,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionSharedKey} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29864,27 +32069,25 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionSharedKey} for more information. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; - setSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves - * information about the specified virtual network gateway connection shared - * key through Network resource provider. + * Deletes the specified local network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection shared key name. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -29893,21 +32096,19 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves - * information about the specified virtual network gateway connection shared - * key through Network resource provider. + * Deletes the specified local network gateway. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection shared key name. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * * @param {object} [options] Optional Parameters. * @@ -29921,7 +32122,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionSharedKey} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29929,24 +32130,30 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionSharedKey} for more information. + * {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. */ - getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - getSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. + * Updates a local network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * + * @param {string} localNetworkGatewayName The name of the local network + * gateway. + * + * @param {object} parameters Parameters supplied to update local network + * gateway tags. + * + * @param {object} [parameters.tags] Resource tags. + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -29954,17 +32161,24 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. + * Updates a local network gateway tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {string} resourceGroupName The name of the resource group. + * @param {object} parameters Parameters supplied to update local network + * gateway tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -29978,7 +32192,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. + * @resolve {LocalNetworkGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -29986,37 +32200,23 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnectionListResult} - * for more information. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. + * Gets all the local network gateways in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. - * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. - * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -30024,30 +32224,17 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - resetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. + * Gets all the local network gateways in a resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. - * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. - * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. - * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -30060,7 +32247,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionResetSharedKey} - The deserialized result object. + * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30068,197 +32255,220 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionResetSharedKey} for more + * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGatewayListResult} for more * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; - resetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a virtual network gateway connection in the specified - * resource group. + * Creates or updates a local network gateway in the specified resource group. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {object} parameters Parameters supplied to the create or update - * virtual network gateway connection operation. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. * - * @param {string} [parameters.authorizationKey] The authorizationKey. + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. * - * @param {object} parameters.virtualNetworkGateway1 The reference to virtual - * network gateway resource. + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual - * network gateway resource. + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. * - * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP - * configurations for virtual network gateway. + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. * - * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of - * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this - * virtual network gateway. Possible values are: 'PolicyBased' and - * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP - * is enabled for this virtual network gateway or not. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] - * ActiveActive flag + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway resource. * - * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The - * reference of the LocalNetworkGateway resource which represents local network - * site having default routes. Assign Null value in case of removing existing - * default site setting. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU - * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {string} [parameters.location] Resource location. * - * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU - * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {object} [parameters.tags] Resource tags. * - * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The - * capacity. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] - * The reference of the VpnClientConfiguration resource which represents the - * P2S VpnClient configurations. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] - * The reference of the address space resource which represents Address space - * for P2S VpnClient. + * @returns {Promise} A promise is returned * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a local network gateway in the specified resource group. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] - * The radius server address property of the VirtualNetworkGateway resource for - * vpn client connection. + * @param {object} parameters Parameters supplied to the create or update local + * network gateway operation. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] - * The radius secret property of the VirtualNetworkGateway resource for vpn - * client connection. + * @param {object} [parameters.localNetworkAddressSpace] Local network site + * address space. * - * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual - * network gateway's BGP speaker settings. + * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list + * of address blocks reserved for this virtual network in CIDR notation. * - * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The - * resource GUID property of the VirtualNetworkGateway resource. + * @param {string} [parameters.gatewayIpAddress] IP address of local network + * gateway. * - * @param {string} [parameters.virtualNetworkGateway2.etag] Gets a unique - * read-only string that changes whenever the resource is updated. + * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker + * settings. * - * @param {string} [parameters.virtualNetworkGateway2.id] Resource ID. + * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. * - * @param {string} [parameters.virtualNetworkGateway2.location] Resource - * location. + * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering + * address and BGP identifier of this BGP speaker. * - * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. + * @param {number} [parameters.bgpSettings.peerWeight] The weight added to + * routes learned from this BGP speaker. * - * @param {object} [parameters.localNetworkGateway2] The reference to local - * network gateway resource. + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * LocalNetworkGateway resource. * - * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] - * Local network site address space. + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. * - * @param {array} - * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * @param {string} [parameters.id] Resource ID. * - * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP - * address of local network gateway. + * @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 {LocalNetworkGateway} - 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. + * + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified local network gateway. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} localNetworkGatewayName The name of the local network + * gateway. + * + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network - * gateway's BGP speaker settings. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP - * speaker's ASN. + * @returns {Promise} A promise is returned * - * @param {string} - * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified local network gateway. * - * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource - * GUID property of the LocalNetworkGateway resource. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only - * string that changes whenever the resource is updated. + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {string} [parameters.localNetworkGateway2.id] Resource ID. + * @param {object} [options] Optional Parameters. * - * @param {string} [parameters.localNetworkGateway2.location] Resource - * location. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} parameters.connectionType Gateway connection type. Possible - * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible - * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {number} [parameters.routingWeight] The routing weight. + * {Promise} A promise is returned. * - * @param {string} [parameters.sharedKey] The IPSec shared key. + * @resolve {null} - The deserialized result object. * - * @param {object} [parameters.peer] The reference to peerings resource. + * @reject {Error|ServiceError} - The error object. * - * @param {string} [parameters.peer.id] Resource ID. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {boolean} [parameters.enableBgp] EnableBgp flag + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable - * policy-based traffic selectors. + * {null} [result] - The deserialized result object if an error did not occur. * - * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be - * considered by this connection. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates a local network gateway tags. * - * @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} localNetworkGatewayName The name of the local network + * gateway. * - * @param {string} [parameters.location] Resource location. + * @param {object} parameters Parameters supplied to update local network + * gateway tags. * * @param {object} [parameters.tags] Resource tags. * @@ -30269,192 +32479,150 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a virtual network gateway connection in the specified - * resource group. + * Updates a local network gateway tags. * * @param {string} resourceGroupName The name of the resource group. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. - * - * @param {object} parameters Parameters supplied to the create or update - * virtual network gateway connection operation. - * - * @param {string} [parameters.authorizationKey] The authorizationKey. - * - * @param {object} parameters.virtualNetworkGateway1 The reference to virtual - * network gateway resource. - * - * @param {object} [parameters.virtualNetworkGateway2] The reference to virtual - * network gateway resource. - * - * @param {array} [parameters.virtualNetworkGateway2.ipConfigurations] IP - * configurations for virtual network gateway. - * - * @param {string} [parameters.virtualNetworkGateway2.gatewayType] The type of - * this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' - * - * @param {string} [parameters.virtualNetworkGateway2.vpnType] The type of this - * virtual network gateway. Possible values are: 'PolicyBased' and - * 'RouteBased'. Possible values include: 'PolicyBased', 'RouteBased' - * - * @param {boolean} [parameters.virtualNetworkGateway2.enableBgp] Whether BGP - * is enabled for this virtual network gateway or not. - * - * @param {boolean} [parameters.virtualNetworkGateway2.activeActive] - * ActiveActive flag - * - * @param {object} [parameters.virtualNetworkGateway2.gatewayDefaultSite] The - * reference of the LocalNetworkGateway resource which represents local network - * site having default routes. Assign Null value in case of removing existing - * default site setting. - * - * @param {object} [parameters.virtualNetworkGateway2.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. - * - * @param {string} [parameters.virtualNetworkGateway2.sku.name] Gateway SKU - * name. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {string} localNetworkGatewayName The name of the local network + * gateway. * - * @param {string} [parameters.virtualNetworkGateway2.sku.tier] Gateway SKU - * tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + * @param {object} parameters Parameters supplied to update local network + * gateway tags. * - * @param {number} [parameters.virtualNetworkGateway2.sku.capacity] The - * capacity. + * @param {object} [parameters.tags] Resource tags. * - * @param {object} [parameters.virtualNetworkGateway2.vpnClientConfiguration] - * The reference of the VpnClientConfiguration resource which represents the - * P2S VpnClient configurations. + * @param {object} [options] Optional Parameters. * - * @param {object} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] - * The reference of the address space resource which represents Address space - * for P2S VpnClient. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. + * {Promise} A promise is returned. * - * @param {array} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. + * @resolve {LocalNetworkGateway} - The deserialized result object. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] - * The radius server address property of the VirtualNetworkGateway resource for - * vpn client connection. + * @reject {Error|ServiceError} - The error object. * - * @param {string} - * [parameters.virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] - * The radius secret property of the VirtualNetworkGateway resource for vpn - * client connection. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [parameters.virtualNetworkGateway2.bgpSettings] Virtual - * network gateway's BGP speaker settings. + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [parameters.virtualNetworkGateway2.resourceGuid] The - * resource GUID property of the VirtualNetworkGateway resource. + * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGateway} for more information. * - * @param {string} [parameters.virtualNetworkGateway2.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} [parameters.virtualNetworkGateway2.id] Resource ID. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets all the local network gateways in a resource group. * - * @param {string} [parameters.virtualNetworkGateway2.location] Resource - * location. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {object} [parameters.virtualNetworkGateway2.tags] Resource tags. + * @param {object} [options] Optional Parameters. * - * @param {object} [parameters.localNetworkGateway2] The reference to local - * network gateway resource. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [parameters.localNetworkGateway2.localNetworkAddressSpace] - * Local network site address space. + * @returns {Promise} A promise is returned * - * @param {array} - * [parameters.localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A - * list of address blocks reserved for this virtual network in CIDR notation. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.localNetworkGateway2.gatewayIpAddress] IP - * address of local network gateway. + * @reject {Error|ServiceError} - The error object. + */ + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the local network gateways in a resource group. * - * @param {object} [parameters.localNetworkGateway2.bgpSettings] Local network - * gateway's BGP speaker settings. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.asn] The BGP - * speaker's ASN. + * @param {object} [options] Optional Parameters. * - * @param {string} - * [parameters.localNetworkGateway2.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {number} [parameters.localNetworkGateway2.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [parameters.localNetworkGateway2.resourceGuid] The resource - * GUID property of the LocalNetworkGateway resource. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [parameters.localNetworkGateway2.etag] A unique read-only - * string that changes whenever the resource is updated. + * {Promise} A promise is returned. * - * @param {string} [parameters.localNetworkGateway2.id] Resource ID. + * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. * - * @param {string} [parameters.localNetworkGateway2.location] Resource - * location. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [parameters.localNetworkGateway2.tags] Resource tags. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {string} parameters.connectionType Gateway connection type. Possible - * values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible - * values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {number} [parameters.routingWeight] The routing weight. + * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. + * See {@link LocalNetworkGatewayListResult} for more + * information. * - * @param {string} [parameters.sharedKey] The IPSec shared key. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {object} [parameters.peer] The reference to peerings 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 + * VirtualWANs + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VirtualWANs { + + + /** + * Retrieves the details of a VirtualWAN. * - * @param {string} [parameters.peer.id] Resource ID. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {boolean} [parameters.enableBgp] EnableBgp flag + * @param {string} virtualWANName The name of the VirtualWAN being retrieved. * - * @param {boolean} [parameters.usePolicyBasedTrafficSelectors] Enable - * policy-based traffic selectors. + * @param {object} [options] Optional Parameters. * - * @param {array} [parameters.ipsecPolicies] The IPSec Policies to be - * considered by this connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.etag] Gets a unique read-only string that - * changes whenever the resource is updated. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.id] Resource ID. + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Retrieves the details of a VirtualWAN. * - * @param {string} [parameters.location] Resource location. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualWANName The name of the VirtualWAN being retrieved. * * @param {object} [options] Optional Parameters. * @@ -30468,7 +32636,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30476,26 +32644,42 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.VirtualNetworkGatewayConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified virtual network Gateway connection. + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. + * + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. + * + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. + * + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [wANParameters.id] Resource ID. + * + * @param {string} [wANParameters.location] Resource location. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -30504,19 +32688,36 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified virtual network Gateway connection. + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. + * + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. + * + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. + * + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [wANParameters.id] Resource ID. + * + * @param {string} [wANParameters.location] Resource location. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -30530,7 +32731,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30538,29 +32739,28 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a virtual network gateway connection tags. + * Updates a VirtualWAN tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualWANName The name of the VirtualWAN being updated. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -30569,24 +32769,22 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a virtual network gateway connection tags. + * Updates a VirtualWAN tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} virtualNetworkGatewayConnectionName The name of the virtual - * network gateway connection. + * @param {string} virtualWANName The name of the VirtualWAN being updated. * - * @param {object} parameters Parameters supplied to update virtual network - * gateway connection tags. + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -30600,7 +32798,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnection} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30608,38 +32806,24 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnection} for more - * information. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. + * Deletes a VirtualWAN. * - * @param {string} parameters.value The virtual network connection shared key - * value. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} [parameters.id] Resource ID. + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -30648,31 +32832,18 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginSetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual - * network gateway connection shared key for passed virtual network gateway - * connection in the specified resource group through Network resource - * provider. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection name. - * - * @param {object} parameters Parameters supplied to the Begin Set Virtual - * Network Gateway connection Shared key operation throughNetwork resource - * provider. + * Deletes a VirtualWAN. * - * @param {string} parameters.value The virtual network connection shared key - * value. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} [parameters.id] Resource ID. + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -30686,7 +32857,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionSharedKey} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30694,35 +32865,21 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionSharedKey} for more information. + * {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. */ - beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, callback: ServiceCallback): void; - beginSetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. - * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. + * Lists all the VirtualWANs in a resource group. * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * * @param {object} [options] Optional Parameters. * @@ -30731,29 +32888,16 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginResetSharedKeyWithHttpOperationResponse(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - /** - * The VirtualNetworkGatewayConnectionResetSharedKey operation resets the - * virtual network gateway connection shared key for passed virtual network - * gateway connection in the specified resource group through Network resource - * provider. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} virtualNetworkGatewayConnectionName The virtual network - * gateway connection reset shared key Name. - * - * @param {object} parameters Parameters supplied to the begin reset virtual - * network gateway connection shared key operation through network resource - * provider. + /** + * Lists all the VirtualWANs in a resource group. * - * @param {number} parameters.keyLength The virtual network connection reset - * shared key length, should between 1 and 128. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * * @param {object} [options] Optional Parameters. * @@ -30767,7 +32911,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {ConnectionResetSharedKey} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30775,25 +32919,20 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ConnectionResetSharedKey} [result] - The deserialized result object if an error did not occur. - * See {@link ConnectionResetSharedKey} for more - * information. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, callback: ServiceCallback): void; - beginResetSharedKey(resourceGroupName: string, virtualNetworkGatewayConnectionName: string, parameters: models.ConnectionResetSharedKey, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Lists all the VirtualWANs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -30802,18 +32941,14 @@ export interface VirtualNetworkGatewayConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * The List VirtualNetworkGatewayConnections operation retrieves all the - * virtual network gateways connections created. - * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * Lists all the VirtualWANs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -30827,7 +32962,7 @@ export interface VirtualNetworkGatewayConnections { * * {Promise} A promise is returned. * - * @resolve {VirtualNetworkGatewayConnectionListResult} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30835,126 +32970,147 @@ export interface VirtualNetworkGatewayConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualNetworkGatewayConnectionListResult} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualNetworkGatewayConnectionListResult} - * for more information. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * LocalNetworkGateways - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface LocalNetworkGateways { + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a local network gateway in the specified resource group. + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. * - * @param {object} [parameters.localNetworkAddressSpace] Local network site - * address space. + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. * - * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' * - * @param {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. + * @param {string} [wANParameters.id] Resource ID. * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. + * @param {string} [wANParameters.location] Resource location. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {object} [wANParameters.tags] Resource tags. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. + * @returns {Promise} A promise is returned * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.id] Resource ID. + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates a VirtualWAN resource if it doesn't exist else updates the existing + * VirtualWAN. * - * @param {string} [parameters.location] Resource location. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} virtualWANName The name of the VirtualWAN being created or + * updated. + * + * @param {object} wANParameters Parameters supplied to create or update + * VirtualWAN. + * + * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be + * disabled or not. + * + * @param {string} [wANParameters.provisioningState] The provisioning state of + * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', + * 'Failed' + * + * @param {string} [wANParameters.id] Resource ID. + * + * @param {string} [wANParameters.location] Resource location. + * + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * * @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 {VirtualWAN} - 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. + * + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** - * Creates or updates a local network gateway in the specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * Updates a VirtualWAN tags. * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {object} [parameters.localNetworkAddressSpace] Local network site - * address space. + * @param {string} virtualWANName The name of the VirtualWAN being updated. * - * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. * - * @param {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. + * @param {object} [wANParameters.tags] Resource tags. * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. + * @param {object} [options] Optional Parameters. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @returns {Promise} A promise is returned * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. + * @reject {Error|ServiceError} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates a VirtualWAN tags. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} [parameters.id] Resource ID. + * @param {string} virtualWANName The name of the VirtualWAN being updated. * - * @param {string} [parameters.location] Resource location. + * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [wANParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -30968,7 +33124,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {VirtualWAN} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -30976,25 +33132,24 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {VirtualWAN} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualWAN} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets the specified local network gateway in a resource group. + * Deletes a VirtualWAN. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -31003,19 +33158,18 @@ export interface LocalNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets the specified local network gateway in a resource group. + * Deletes a VirtualWAN. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VirtualWan. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} virtualWANName The name of the VirtualWAN being deleted. * * @param {object} [options] Optional Parameters. * @@ -31029,7 +33183,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31037,25 +33191,22 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {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, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes the specified local network gateway. - * - * @param {string} resourceGroupName The name of the resource group. + * Lists all the VirtualWANs in a resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -31064,19 +33215,17 @@ export interface LocalNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes the specified local network gateway. - * - * @param {string} resourceGroupName The name of the resource group. + * Lists all the VirtualWANs in a resource group. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -31090,7 +33239,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31098,29 +33247,23 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a local network gateway tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. - * - * @param {object} parameters Parameters supplied to update local network - * gateway tags. + * Lists all the VirtualWANs in a subscription. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -31129,24 +33272,17 @@ export interface LocalNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a local network gateway tags. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. - * - * @param {object} parameters Parameters supplied to update local network - * gateway tags. + * Lists all the VirtualWANs in a subscription. * - * @param {object} [parameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -31160,7 +33296,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {ListVirtualWANsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31168,22 +33304,33 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualWANsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VpnSites + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VpnSites { /** - * Gets all the local network gateways in a resource group. + * Retrieves the details of a VPNsite. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnSite. + * + * @param {string} vpnSiteName The name of the VpnSite being retrieved. * * @param {object} [options] Optional Parameters. * @@ -31192,16 +33339,18 @@ export interface LocalNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the local network gateways in a resource group. + * Retrieves the details of a VPNsite. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnSite. + * + * @param {string} vpnSiteName The name of the VpnSite being retrieved. * * @param {object} [options] Optional Parameters. * @@ -31215,7 +33364,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31223,61 +33372,77 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGatewayListResult} for more - * information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates or updates a local network gateway in the specified resource group. + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. * - * @param {object} [parameters.localNetworkAddressSpace] Local network site - * address space. + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs * - * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. + * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. * - * @param {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. + * @param {object} [vpnSiteParameters.deviceProperties] The device properties * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. * - * @param {string} [parameters.id] Resource ID. + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. * - * @param {string} [parameters.location] Resource location. + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. * - * @param {object} [parameters.tags] Resource tags. + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnSiteParameters.id] Resource ID. + * + * @param {string} [vpnSiteParameters.location] Resource location. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31286,115 +33451,71 @@ export interface LocalNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates or updates a local network gateway in the specified resource group. - * - * @param {string} resourceGroupName The name of the resource group. - * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. - * - * @param {object} parameters Parameters supplied to the create or update local - * network gateway operation. - * - * @param {object} [parameters.localNetworkAddressSpace] Local network site - * address space. - * - * @param {array} [parameters.localNetworkAddressSpace.addressPrefixes] A list - * of address blocks reserved for this virtual network in CIDR notation. - * - * @param {string} [parameters.gatewayIpAddress] IP address of local network - * gateway. - * - * @param {object} [parameters.bgpSettings] Local network gateway's BGP speaker - * settings. - * - * @param {number} [parameters.bgpSettings.asn] The BGP speaker's ASN. - * - * @param {string} [parameters.bgpSettings.bgpPeeringAddress] The BGP peering - * address and BGP identifier of this BGP speaker. - * - * @param {number} [parameters.bgpSettings.peerWeight] The weight added to - * routes learned from this BGP speaker. - * - * @param {string} [parameters.resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. - * - * @param {string} [parameters.etag] A unique read-only string that changes - * whenever the resource is updated. - * - * @param {string} [parameters.id] Resource ID. - * - * @param {string} [parameters.location] Resource location. - * - * @param {object} [parameters.tags] Resource tags. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. * - * {Promise} A promise is returned. + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs * - * @reject {Error|ServiceError} - The error object. + * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [vpnSiteParameters.deviceProperties] The device properties * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.LocalNetworkGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Deletes the specified local network gateway. + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. * - * @param {object} [options] Optional Parameters. + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. * - * @returns {Promise} A promise is returned + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @reject {Error|ServiceError} - The error object. - */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Deletes the specified local network gateway. + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} [vpnSiteParameters.id] Resource ID. + * + * @param {string} [vpnSiteParameters.location] Resource location. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31408,7 +33529,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31416,29 +33537,29 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, localNetworkGatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a local network gateway tags. + * Updates VpnSite tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} vpnSiteName The name of the VpnSite being updated. * - * @param {object} parameters Parameters supplied to update local network - * gateway tags. + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31447,24 +33568,23 @@ export interface LocalNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a local network gateway tags. + * Updates VpnSite tags. * - * @param {string} resourceGroupName The name of the resource group. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} localNetworkGatewayName The name of the local network - * gateway. + * @param {string} vpnSiteName The name of the VpnSite being updated. * - * @param {object} parameters Parameters supplied to update local network - * gateway tags. + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. * - * @param {object} [parameters.tags] Resource tags. + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31478,7 +33598,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGateway} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31486,23 +33606,24 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGateway} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGateway} for more information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, localNetworkGatewayName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gets all the local network gateways in a resource group. + * Deletes a VpnSite. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnSite. + * + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -31511,17 +33632,18 @@ export interface LocalNetworkGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gets all the local network gateways in a resource group. + * Deletes a VpnSite. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnSite. + * + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -31535,7 +33657,7 @@ export interface LocalNetworkGateways { * * {Promise} A promise is returned. * - * @resolve {LocalNetworkGatewayListResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31543,34 +33665,21 @@ export interface LocalNetworkGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {LocalNetworkGatewayListResult} [result] - The deserialized result object if an error did not occur. - * See {@link LocalNetworkGatewayListResult} for more - * information. + * {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 - * VirtualWANs - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VirtualWANs { + deleteMethod(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of a VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * Lists all the vpnSites in a resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being retrieved. + * @param {string} resourceGroupName The resource group name of the VpnSite. * * @param {object} [options] Optional Parameters. * @@ -31579,18 +33688,16 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * Lists all the vpnSites in a resource group. * - * @param {string} virtualWANName The name of the VirtualWAN being retrieved. + * @param {string} resourceGroupName The resource group name of the VpnSite. * * @param {object} [options] Optional Parameters. * @@ -31604,7 +33711,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31612,42 +33719,20 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. - * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. - * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. - * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [wANParameters.id] Resource ID. - * - * @param {string} [wANParameters.location] Resource location. - * - * @param {object} [wANParameters.tags] Resource tags. + * Lists all the VpnSites in a subscription. * * @param {object} [options] Optional Parameters. * @@ -31656,36 +33741,14 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. - * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. - * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. - * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [wANParameters.id] Resource ID. - * - * @param {string} [wANParameters.location] Resource location. - * - * @param {object} [wANParameters.tags] Resource tags. + * Lists all the VpnSites in a subscription. * * @param {object} [options] Optional Parameters. * @@ -31699,7 +33762,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31707,91 +33770,77 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates a VirtualWAN tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being updated. - * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. - * - * @param {object} [wANParameters.tags] Resource tags. - * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @returns {Promise} A promise is returned + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. * - * @reject {Error|ServiceError} - The error object. - */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Updates a VirtualWAN tags. + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs * - * @param {string} virtualWANName The name of the VirtualWAN being updated. + * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * @param {object} [vpnSiteParameters.deviceProperties] The device properties * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. * - * @param {object} [options] Optional Parameters. + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. * - * {Promise} A promise is returned. + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. * - * @resolve {VirtualWAN} - The deserialized result object. + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. * - * @reject {Error|ServiceError} - The error object. + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Deletes a VirtualWAN. + * @param {string} [vpnSiteParameters.id] Resource ID. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} [vpnSiteParameters.location] Resource location. * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31800,72 +33849,71 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VirtualWAN. + * Creates a VpnSite resource if it doesn't exist else updates the existing + * VpnSite. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {string} vpnSiteName The name of the VpnSite being created or + * updated. * - * @param {object} [options] Optional Parameters. + * @param {object} vpnSiteParameters Parameters supplied to create or update + * VpnSite. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the + * vpnSite belongs * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {string} [vpnSiteParameters.virtualWAN.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 {object} [vpnSiteParameters.deviceProperties] The device properties * - * {Promise} A promise is returned. + * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of + * the device Vendor. * - * @resolve {null} - The deserialized result object. + * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of + * the device. * - * @reject {Error|ServiceError} - The error object. + * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link + * speed. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the + * vpn-site. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be + * used for connections. * - * {null} [result] - The deserialized result object if an error did not occur. + * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that + * contains an array of IP address ranges. * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of + * address blocks reserved for this virtual network in CIDR notation. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. - */ - deleteMethod(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Lists all the VirtualWANs in a resource group. + * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. * - * @param {object} [options] Optional Parameters. + * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight + * added to routes learned from this BGP speaker. * - * @returns {Promise} A promise is returned + * @param {string} [vpnSiteParameters.provisioningState] The provisioning state + * of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {string} [vpnSiteParameters.id] Resource ID. * - * @reject {Error|ServiceError} - The error object. - */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Lists all the VirtualWANs in a resource group. + * @param {string} [vpnSiteParameters.location] Resource location. * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31879,7 +33927,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31887,20 +33935,29 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualWANs in a subscription. + * Updates VpnSite tags. + * + * @param {string} resourceGroupName The resource group name of the VpnSite. + * + * @param {string} vpnSiteName The name of the VpnSite being updated. + * + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31909,14 +33966,23 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualWANs in a subscription. + * Updates VpnSite tags. + * + * @param {string} resourceGroupName The resource group name of the VpnSite. + * + * @param {string} vpnSiteName The name of the VpnSite being updated. + * + * @param {object} vpnSiteParameters Parameters supplied to update VpnSite + * tags. + * + * @param {object} [vpnSiteParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -31930,7 +33996,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @resolve {VpnSite} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -31938,42 +34004,24 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * {VpnSite} [result] - The deserialized result object if an error did not occur. + * See {@link VpnSite} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. - * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. - * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. - * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [wANParameters.id] Resource ID. + * Deletes a VpnSite. * - * @param {string} [wANParameters.location] Resource location. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -31982,36 +34030,18 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VirtualWAN resource if it doesn't exist else updates the existing - * VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being created or - * updated. - * - * @param {object} wANParameters Parameters supplied to create or update - * VirtualWAN. - * - * @param {boolean} [wANParameters.disableVpnEncryption] Vpn encryption to be - * disabled or not. - * - * @param {string} [wANParameters.provisioningState] The provisioning state of - * the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * - * @param {string} [wANParameters.id] Resource ID. + * Deletes a VpnSite. * - * @param {string} [wANParameters.location] Resource location. + * @param {string} resourceGroupName The resource group name of the VpnSite. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} vpnSiteName The name of the VpnSite being deleted. * * @param {object} [options] Optional Parameters. * @@ -32025,7 +34055,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32033,28 +34063,22 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualWANName: string, wANParameters: models.VirtualWAN, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - - - /** - * Updates a VirtualWAN tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being updated. - * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Lists all the vpnSites in a resource group. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -32063,22 +34087,17 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates a VirtualWAN tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. - * - * @param {string} virtualWANName The name of the VirtualWAN being updated. - * - * @param {object} wANParameters Parameters supplied to Update VirtualWAN tags. + * Lists all the vpnSites in a resource group. * - * @param {object} [wANParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -32092,7 +34111,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {VirtualWAN} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32100,24 +34119,23 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualWAN} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualWAN} for more information. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualWANName: string, wANParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Deletes a VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * Lists all the VpnSites in a subscription. * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -32126,18 +34144,17 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VirtualWAN. - * - * @param {string} resourceGroupName The resource group name of the VirtualWan. + * Lists all the VpnSites in a subscription. * - * @param {string} virtualWANName The name of the VirtualWAN being deleted. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -32151,7 +34168,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ListVpnSitesResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32159,22 +34176,44 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnSitesResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, virtualWANName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualWANName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualWANName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VpnSitesConfiguration + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VpnSitesConfiguration { /** - * Lists all the VirtualWANs in a resource group. + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name. + * + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. + * + * @param {object} request Parameters supplied to download vpn-sites + * configuration. + * + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. + * + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * * @param {object} [options] Optional Parameters. * @@ -32183,17 +34222,29 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + downloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualWANs in a resource group. + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name. + * + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. + * + * @param {object} request Parameters supplied to download vpn-sites + * configuration. + * + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. + * + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * * @param {object} [options] Optional Parameters. * @@ -32207,7 +34258,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32215,23 +34266,34 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; + download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualWANs in a subscription. + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name. + * + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. + * + * @param {object} request Parameters supplied to download vpn-sites + * configuration. + * + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. + * + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * * @param {object} [options] Optional Parameters. * @@ -32240,17 +34302,29 @@ export interface VirtualWANs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDownloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualWANs in a subscription. + * Gives the sas-url to download the configurations for vpn-sites in a resource + * group. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name. + * + * @param {string} virtualWANName The name of the VirtualWAN for which + * configuration of all vpn-sites is needed. + * + * @param {object} request Parameters supplied to download vpn-sites + * configuration. + * + * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for + * which config is to be downloaded. + * + * @param {string} [request.outputBlobSasUrl] The sas-url to download the + * configurations for vpn-sites * * @param {object} [options] Optional Parameters. * @@ -32264,7 +34338,7 @@ export interface VirtualWANs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualWANsResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32272,33 +34346,32 @@ export interface VirtualWANs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualWANsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualWANsResult} for more information. + * {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; + beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; + beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** * @class - * VpnSites + * VirtualHubs * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface VpnSites { +export interface VirtualHubs { /** - * Retrieves the details of a VPNsite. + * Retrieves the details of a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being retrieved. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -32307,18 +34380,18 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a VPNsite. + * Retrieves the details of a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being retrieved. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -32332,7 +34405,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32340,77 +34413,49 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. - * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. - * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', + * @param {string} [virtualHubParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [virtualHubParameters.id] Resource ID. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [virtualHubParameters.location] Resource location. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32419,71 +34464,43 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. - * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. - * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', + * @param {string} [virtualHubParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [virtualHubParameters.id] Resource ID. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [virtualHubParameters.location] Resource location. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32497,7 +34514,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32505,29 +34522,29 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates VpnSite tags. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32536,23 +34553,23 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VpnSite tags. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32566,7 +34583,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32574,24 +34591,24 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VpnSite. + * Deletes a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -32604,14 +34621,14 @@ export interface VpnSites { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VpnSite. + * Deletes a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -32639,15 +34656,15 @@ export interface VpnSites { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the vpnSites in a resource group. + * Lists all the VirtualHubs in a resource group. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -32656,16 +34673,16 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the vpnSites in a resource group. + * Lists all the VirtualHubs in a resource group. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -32679,7 +34696,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32687,20 +34704,20 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VpnSites in a subscription. + * Lists all the VirtualHubs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -32709,14 +34726,14 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnSites in a subscription. + * Lists all the VirtualHubs in a subscription. * * @param {object} [options] Optional Parameters. * @@ -32730,7 +34747,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32738,77 +34755,49 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. - * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. - * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', + * @param {string} [virtualHubParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [virtualHubParameters.id] Resource ID. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [virtualHubParameters.location] Resource location. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32817,71 +34806,43 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VpnSite resource if it doesn't exist else updates the existing - * VpnSite. - * - * @param {string} resourceGroupName The resource group name of the VpnSite. - * - * @param {string} vpnSiteName The name of the VpnSite being created or - * updated. - * - * @param {object} vpnSiteParameters Parameters supplied to create or update - * VpnSite. - * - * @param {object} [vpnSiteParameters.virtualWAN] The VirtualWAN to which the - * vpnSite belongs - * - * @param {string} [vpnSiteParameters.virtualWAN.id] Resource ID. - * - * @param {object} [vpnSiteParameters.deviceProperties] The device properties - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceVendor] Name of - * the device Vendor. - * - * @param {string} [vpnSiteParameters.deviceProperties.deviceModel] Model of - * the device. - * - * @param {number} [vpnSiteParameters.deviceProperties.linkSpeedInMbps] Link - * speed. - * - * @param {string} [vpnSiteParameters.ipAddress] The ip-address for the - * vpn-site. + * Creates a VirtualHub resource if it doesn't exist else updates the existing + * VirtualHub. * - * @param {string} [vpnSiteParameters.siteKey] The key for vpn-site that can be - * used for connections. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {object} [vpnSiteParameters.addressSpace] The AddressSpace that - * contains an array of IP address ranges. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {array} [vpnSiteParameters.addressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. + * @param {object} virtualHubParameters Parameters supplied to create or update + * VirtualHub. * - * @param {object} [vpnSiteParameters.bgpProperties] The set of bgp properties. + * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which + * the VirtualHub belongs * - * @param {number} [vpnSiteParameters.bgpProperties.asn] The BGP speaker's ASN. + * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. * - * @param {string} [vpnSiteParameters.bgpProperties.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of + * all vnet connections with this VirtualHub. * - * @param {number} [vpnSiteParameters.bgpProperties.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this + * VirtualHub. * - * @param {string} [vpnSiteParameters.provisioningState] The provisioning state - * of the resource. Possible values include: 'Succeeded', 'Updating', + * @param {string} [virtualHubParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [vpnSiteParameters.id] Resource ID. + * @param {string} [virtualHubParameters.id] Resource ID. * - * @param {string} [vpnSiteParameters.location] Resource location. + * @param {string} [virtualHubParameters.location] Resource location. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32895,7 +34856,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32903,29 +34864,29 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.VpnSite, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates VpnSite tags. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32934,23 +34895,23 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VpnSite tags. + * Updates VirtualHub tags. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being updated. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {object} vpnSiteParameters Parameters supplied to update VpnSite - * tags. + * @param {object} virtualHubParameters Parameters supplied to update + * VirtualHub tags. * - * @param {object} [vpnSiteParameters.tags] Resource tags. + * @param {object} [virtualHubParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -32964,7 +34925,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {VpnSite} - The deserialized result object. + * @resolve {VirtualHub} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -32972,24 +34933,24 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnSite} [result] - The deserialized result object if an error did not occur. - * See {@link VpnSite} for more information. + * {VirtualHub} [result] - The deserialized result object if an error did not occur. + * See {@link VirtualHub} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, vpnSiteName: string, vpnSiteParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VpnSite. + * Deletes a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -33002,14 +34963,14 @@ export interface VpnSites { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VpnSite. + * Deletes a VirtualHub. * - * @param {string} resourceGroupName The resource group name of the VpnSite. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} vpnSiteName The name of the VpnSite being deleted. + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -33037,13 +34998,13 @@ export interface VpnSites { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, vpnSiteName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the vpnSites in a resource group. + * Lists all the VirtualHubs in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -33055,14 +35016,14 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the vpnSites in a resource group. + * Lists all the VirtualHubs in a resource group. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -33079,7 +35040,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33087,20 +35048,20 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - 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; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VpnSites in a subscription. + * Lists all the VirtualHubs in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -33112,14 +35073,14 @@ export interface VpnSites { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnSites in a subscription. + * Lists all the VirtualHubs in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -33136,7 +35097,7 @@ export interface VpnSites { * * {Promise} A promise is returned. * - * @resolve {ListVpnSitesResult} - The deserialized result object. + * @resolve {ListVirtualHubsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33144,44 +35105,97 @@ export interface VpnSites { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnSitesResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnSitesResult} for more information. + * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVirtualHubsResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } /** * @class - * VpnSitesConfiguration + * HubVirtualNetworkConnections * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface VpnSitesConfiguration { +export interface HubVirtualNetworkConnections { /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. + * Retrieves the details of a HubVirtualNetworkConnection. * - * @param {string} resourceGroupName The resource group name. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. + * @param {string} virtualHubName The name of the VirtualHub. * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. + * @param {string} connectionName The name of the vpn 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|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Retrieves the details of a HubVirtualNetworkConnection. + * + * @param {string} resourceGroupName The resource group name of the VirtualHub. + * + * @param {string} virtualHubName The name of the VirtualHub. + * + * @param {string} connectionName The name of the vpn connection. + * + * @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 {HubVirtualNetworkConnection} - 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. + * + * {HubVirtualNetworkConnection} [result] - The deserialized result object if an error did not occur. + * See {@link HubVirtualNetworkConnection} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + get(resourceGroupName: string, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, virtualHubName: string, connectionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, virtualHubName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -33190,29 +35204,18 @@ export interface VpnSitesConfiguration { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - downloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. - * - * @param {string} resourceGroupName The resource group name. - * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. - * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * @param {string} resourceGroupName The resource group name of the VirtualHub. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {string} virtualHubName The name of the VirtualHub. * * @param {object} [options] Optional Parameters. * @@ -33226,7 +35229,7 @@ export interface VpnSitesConfiguration { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33234,34 +35237,24 @@ export interface VpnSitesConfiguration { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListHubVirtualNetworkConnectionsResult} for + * more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; - download(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; + list(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. - * - * @param {string} resourceGroupName The resource group name. - * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. - * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. - * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -33270,29 +35263,17 @@ export interface VpnSitesConfiguration { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDownloadWithHttpOperationResponse(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Gives the sas-url to download the configurations for vpn-sites in a resource - * group. - * - * @param {string} resourceGroupName The resource group name. - * - * @param {string} virtualWANName The name of the VirtualWAN for which - * configuration of all vpn-sites is needed. - * - * @param {object} request Parameters supplied to download vpn-sites - * configuration. - * - * @param {array} [request.vpnSites] List of resource-ids of the vpn-sites for - * which config is to be downloaded. + * Retrieves the details of all HubVirtualNetworkConnections. * - * @param {string} [request.outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -33306,7 +35287,7 @@ export interface VpnSitesConfiguration { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33314,32 +35295,34 @@ export interface VpnSitesConfiguration { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListHubVirtualNetworkConnectionsResult} for + * more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, callback: ServiceCallback): void; - beginDownload(resourceGroupName: string, virtualWANName: string, request: models.GetVpnSitesConfigurationRequest, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 - * VirtualHubs + * VpnGateways * __NOTE__: An instance of this class is automatically created for an * instance of the NetworkManagementClient. */ -export interface VirtualHubs { +export interface VpnGateways { /** - * Retrieves the details of a VirtualHub. + * Retrieves the details of a virtual wan vpn gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -33348,18 +35331,18 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a VirtualHub. + * Retrieves the details of a virtual wan vpn gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -33373,7 +35356,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33381,49 +35364,67 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + get(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. * - * @param {string} [virtualHubParameters.provisioningState] The provisioning + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. + * + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [virtualHubParameters.id] Resource ID. + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. * - * @param {string} [virtualHubParameters.location] Resource location. + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33432,43 +35433,61 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. * - * @param {string} [virtualHubParameters.provisioningState] The provisioning + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. + * + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [virtualHubParameters.id] Resource ID. + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. * - * @param {string} [virtualHubParameters.location] Resource location. + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33482,7 +35501,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33490,29 +35509,29 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates VirtualHub tags. + * Updates virtual wan vpn gateway tags. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33521,23 +35540,23 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateTagsWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VirtualHub tags. + * Updates virtual wan vpn gateway tags. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33551,7 +35570,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33559,24 +35578,24 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VirtualHub. + * Deletes a virtual wan vpn gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -33589,14 +35608,14 @@ export interface VirtualHubs { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VirtualHub. + * Deletes a virtual wan vpn gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -33624,15 +35643,15 @@ export interface VirtualHubs { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualHubs in a resource group. + * Lists all the VpnGateways in a resource group. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * * @param {object} [options] Optional Parameters. * @@ -33641,16 +35660,16 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualHubs in a resource group. + * Lists all the VpnGateways in a resource group. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * * @param {object} [options] Optional Parameters. * @@ -33664,7 +35683,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33672,20 +35691,20 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} for more information. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; - listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroup(resourceGroupName: string, callback: ServiceCallback): void; + listByResourceGroup(resourceGroupName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualHubs in a subscription. + * Lists all the VpnGateways in a subscription. * * @param {object} [options] Optional Parameters. * @@ -33694,14 +35713,14 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualHubs in a subscription. + * Lists all the VpnGateways in a subscription. * * @param {object} [options] Optional Parameters. * @@ -33715,7 +35734,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33723,49 +35742,67 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} for more information. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. * - * @param {string} [virtualHubParameters.provisioningState] The provisioning + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. + * + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {string} [virtualHubParameters.id] Resource ID. + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. * - * @param {string} [virtualHubParameters.location] Resource location. + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33774,43 +35811,130 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a VirtualHub resource if it doesn't exist else updates the existing - * VirtualHub. + * Creates a virtual wan vpn gateway if it doesn't exist else updates the + * existing gateway. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {object} virtualHubParameters Parameters supplied to create or update - * VirtualHub. + * @param {object} vpnGatewayParameters Parameters supplied to create or Update + * a virtual wan vpn gateway. * - * @param {object} [virtualHubParameters.virtualWan] The VirtualWAN to which - * the VirtualHub belongs + * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which + * the gateway belongs * - * @param {string} [virtualHubParameters.virtualWan.id] Resource ID. + * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. * - * @param {array} [virtualHubParameters.hubVirtualNetworkConnections] list of - * all vnet connections with this VirtualHub. + * @param {array} [vpnGatewayParameters.connections] list of all vpn + * connections to the gateway. + * + * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's + * BGP speaker settings. + * + * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's + * ASN. + * + * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP + * peering address and BGP identifier of this BGP speaker. + * + * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight + * added to routes learned from this BGP speaker. + * + * @param {string} [vpnGatewayParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {object} [vpnGatewayParameters.policies] The policies applied to this + * vpn gateway. + * + * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] + * True if branch to branch traffic is allowed. + * + * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True + * if Vnet to Vnet traffic is allowed. + * + * @param {string} [vpnGatewayParameters.id] Resource ID. + * + * @param {string} [vpnGatewayParameters.location] Resource location. + * + * @param {object} [vpnGatewayParameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @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 {VpnGateway} - 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. + * + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} for more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Updates virtual wan vpn gateway tags. + * + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. + * + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. + * + * @param {object} [vpnGatewayParameters.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. * - * @param {string} [virtualHubParameters.addressPrefix] Address-prefix for this - * VirtualHub. + * @reject {Error|ServiceError} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates virtual wan vpn gateway tags. * - * @param {string} [virtualHubParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} [virtualHubParameters.id] Resource ID. + * @param {string} gatewayName The name of the gateway. * - * @param {string} [virtualHubParameters.location] Resource location. + * @param {object} vpnGatewayParameters Parameters supplied to update a virtual + * wan vpn gateway tags. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {object} [vpnGatewayParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -33824,7 +35948,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {VpnGateway} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33832,29 +35956,24 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {VpnGateway} [result] - The deserialized result object if an error did not occur. + * See {@link VpnGateway} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.VirtualHub, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates VirtualHub tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. + * Deletes a virtual wan vpn gateway. * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -33863,23 +35982,18 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates VirtualHub tags. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. - * - * @param {string} virtualHubName The name of the VirtualHub. + * Deletes a virtual wan vpn gateway. * - * @param {object} virtualHubParameters Parameters supplied to update - * VirtualHub tags. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {object} [virtualHubParameters.tags] Resource tags. + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -33893,7 +36007,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {VirtualHub} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33901,24 +36015,22 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VirtualHub} [result] - The deserialized result object if an error did not occur. - * See {@link VirtualHub} for more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, virtualHubName: string, virtualHubParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Deletes a VirtualHub. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * Lists all the VpnGateways in a resource group. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -33927,18 +36039,17 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a VirtualHub. - * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * Lists all the VpnGateways in a resource group. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -33952,7 +36063,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -33960,19 +36071,20 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VirtualHubs in a resource group. + * Lists all the VpnGateways in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -33984,14 +36096,14 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualHubs in a resource group. + * Lists all the VpnGateways in a subscription. * * @param {string} nextPageLink The NextLink from the previous successful call * to List operation. @@ -34008,7 +36120,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @resolve {ListVpnGatewaysResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34016,23 +36128,35 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} for more information. + * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnGatewaysResult} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listByResourceGroupNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByResourceGroupNext(nextPageLink: string, callback: ServiceCallback): void; - listByResourceGroupNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listNext(nextPageLink: string, callback: ServiceCallback): void; + listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * VpnConnections + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface VpnConnections { /** - * Lists all the VirtualHubs in a subscription. + * Retrieves the details of a vpn connection. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. + * + * @param {string} connectionName The name of the vpn connection. * * @param {object} [options] Optional Parameters. * @@ -34041,17 +36165,20 @@ export interface VirtualHubs { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VirtualHubs in a subscription. + * Retrieves the details of a vpn connection. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. + * + * @param {string} connectionName The name of the vpn connection. * * @param {object} [options] Optional Parameters. * @@ -34065,7 +36192,7 @@ export interface VirtualHubs { * * {Promise} A promise is returned. * - * @resolve {ListVirtualHubsResult} - The deserialized result object. + * @resolve {VpnConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34073,35 +36200,60 @@ export interface VirtualHubs { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVirtualHubsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVirtualHubsResult} for more information. + * {VpnConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VpnConnection} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * HubVirtualNetworkConnections - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface HubVirtualNetworkConnections { + get(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of a HubVirtualNetworkConnection. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {string} connectionName The name of the vpn connection. + * @param {string} connectionName The name of the connection. + * + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. + * + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. + * + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. + * + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + * + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. + * + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. + * + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnConnectionParameters.id] Resource ID. + * + * @param {string} [vpnConnectionParameters.location] Resource location. + * + * @param {object} [vpnConnectionParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34110,20 +36262,54 @@ export interface HubVirtualNetworkConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a HubVirtualNetworkConnection. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. * - * @param {string} connectionName The name of the vpn connection. + * @param {string} connectionName The name of the connection. + * + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. + * + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. + * + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. + * + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + * + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. + * + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. + * + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + * + * @param {string} [vpnConnectionParameters.id] Resource ID. + * + * @param {string} [vpnConnectionParameters.location] Resource location. + * + * @param {object} [vpnConnectionParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34137,7 +36323,7 @@ export interface HubVirtualNetworkConnections { * * {Promise} A promise is returned. * - * @resolve {HubVirtualNetworkConnection} - The deserialized result object. + * @resolve {VpnConnection} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34145,25 +36331,26 @@ export interface HubVirtualNetworkConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {HubVirtualNetworkConnection} [result] - The deserialized result object if an error did not occur. - * See {@link HubVirtualNetworkConnection} for more - * information. + * {VpnConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VpnConnection} for more information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - get(resourceGroupName: string, virtualHubName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, virtualHubName: string, connectionName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, virtualHubName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Deletes a vpn connection. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. + * + * @param {string} connectionName The name of the connection. * * @param {object} [options] Optional Parameters. * @@ -34172,18 +36359,20 @@ export interface HubVirtualNetworkConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Deletes a vpn connection. * - * @param {string} resourceGroupName The resource group name of the VirtualHub. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} virtualHubName The name of the VirtualHub. + * @param {string} gatewayName The name of the gateway. + * + * @param {string} connectionName The name of the connection. * * @param {object} [options] Optional Parameters. * @@ -34197,7 +36386,7 @@ export interface HubVirtualNetworkConnections { * * {Promise} A promise is returned. * - * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34205,24 +36394,23 @@ export interface HubVirtualNetworkConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListHubVirtualNetworkConnectionsResult} for - * more information. + * {null} [result] - The deserialized result object if an error did not occur. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - list(resourceGroupName: string, virtualHubName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(resourceGroupName: string, virtualHubName: string, callback: ServiceCallback): void; - list(resourceGroupName: string, virtualHubName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -34231,17 +36419,18 @@ export interface HubVirtualNetworkConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByVpnGatewayWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of all HubVirtualNetworkConnections. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * - * @param {string} nextPageLink The NextLink from the previous successful call - * to List operation. + * @param {string} resourceGroupName The resource group name of the VpnGateway. + * + * @param {string} gatewayName The name of the gateway. * * @param {object} [options] Optional Parameters. * @@ -34255,7 +36444,7 @@ export interface HubVirtualNetworkConnections { * * {Promise} A promise is returned. * - * @resolve {ListHubVirtualNetworkConnectionsResult} - The deserialized result object. + * @resolve {ListVpnConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34263,199 +36452,180 @@ export interface HubVirtualNetworkConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListHubVirtualNetworkConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListHubVirtualNetworkConnectionsResult} for - * more information. + * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnConnectionsResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VpnGateways - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VpnGateways { + listByVpnGateway(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByVpnGateway(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; + listByVpnGateway(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Retrieves the details of a virtual wan vpn gateway. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * * @param {string} resourceGroupName The resource group name of the VpnGateway. * * @param {string} gatewayName The name of the gateway. * - * @param {object} [options] Optional Parameters. - * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {string} connectionName The name of the connection. * - * @returns {Promise} A promise is returned + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. * - * @reject {Error|ServiceError} - The error object. - */ - getWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Retrieves the details of a virtual wan vpn gateway. + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. * - * @param {string} gatewayName The name of the gateway. + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' * - * @param {object} [options] Optional Parameters. + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag * - * @param {ServiceCallback} [optionalCallback] - The optional callback. + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. * - * @returns {ServiceCallback|Promise} If a callback was passed as the last - * parameter then it returns the callback else returns a Promise. + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning + * state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' * - * {Promise} A promise is returned. + * @param {string} [vpnConnectionParameters.id] Resource ID. * - * @resolve {VpnGateway} - The deserialized result object. + * @param {string} [vpnConnectionParameters.location] Resource location. * - * @reject {Error|ServiceError} - The error object. + * @param {object} [vpnConnectionParameters.tags] Resource tags. * - * {ServiceCallback} optionalCallback(err, result, request, response) + * @param {object} [options] Optional Parameters. * - * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * @returns {Promise} A promise is returned * - * {WebResource} [request] - The HTTP Request object if an error did not occur. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + * @reject {Error|ServiceError} - The error object. */ - get(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; - + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. + * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else + * updates the existing connection. * * @param {string} resourceGroupName The resource group name of the VpnGateway. * * @param {string} gatewayName The name of the gateway. * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. + * @param {string} connectionName The name of the connection. * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs + * @param {object} vpnConnectionParameters Parameters supplied to create or + * Update a VPN Connection. * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. + * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected + * vpn site. * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. + * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. + * @param {number} [vpnConnectionParameters.routingWeight] routing weight for + * vpn connection. * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. + * @param {string} [vpnConnectionParameters.connectionStatus] The connection + * status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn + * connection. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning + * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to + * be considered by this connection. + * + * @param {string} [vpnConnectionParameters.provisioningState] The provisioning * state of the resource. Possible values include: 'Succeeded', 'Updating', * 'Deleting', 'Failed' * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. - * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. - * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. - * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * @param {string} [vpnConnectionParameters.id] Resource ID. * - * @param {string} [vpnGatewayParameters.location] Resource location. + * @param {string} [vpnConnectionParameters.location] Resource location. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {object} [vpnConnectionParameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the * request * - * @returns {Promise} A promise is returned + * @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. - */ - createOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; - - /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. + * {Promise} A promise is returned. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @resolve {VpnConnection} - The deserialized result object. * - * @param {string} gatewayName The name of the gateway. + * @reject {Error|ServiceError} - The error object. * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. + * {VpnConnection} [result] - The deserialized result object if an error did not occur. + * See {@link VpnConnection} for more information. * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. + * {WebResource} [request] - The HTTP Request object if an error did not occur. * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes a vpn connection. * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * @param {string} gatewayName The name of the gateway. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @param {string} connectionName The name of the connection. + * + * @param {object} [options] Optional Parameters. * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. + * @returns {Promise} A promise is returned * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes a vpn connection. * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * @param {string} resourceGroupName The resource group name of the VpnGateway. * - * @param {string} [vpnGatewayParameters.location] Resource location. + * @param {string} gatewayName The name of the gateway. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {string} connectionName The name of the connection. * * @param {object} [options] Optional Parameters. * @@ -34469,7 +36639,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34477,29 +36647,22 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {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, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates virtual wan vpn gateway tags. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -34508,23 +36671,17 @@ export interface VpnGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - updateTagsWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByVpnGatewayNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates virtual wan vpn gateway tags. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * Retrieves all vpn connections for a particular virtual wan vpn gateway. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -34538,7 +36695,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {ListVpnConnectionsResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34546,24 +36703,35 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. + * See {@link ListVpnConnectionsResult} for more + * information. * * {WebResource} [request] - The HTTP Request object if an error did not occur. * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; - updateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + listByVpnGatewayNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listByVpnGatewayNext(nextPageLink: string, callback: ServiceCallback): void; + listByVpnGatewayNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + +/** + * @class + * ServiceEndpointPolicies + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface ServiceEndpointPolicies { /** - * Deletes a virtual wan vpn gateway. + * Deletes the specified service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -34576,14 +36744,15 @@ export interface VpnGateways { * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + deleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a virtual wan vpn gateway. + * Deletes the specified service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -34611,36 +36780,46 @@ export interface VpnGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - deleteMethod(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Lists all the VpnGateways in a resource group. + * Gets the specified service Endpoint Policies in a specified resource group. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @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. */ - listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { expand? : string, customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a resource group. + * Gets the specified service Endpoint Policies in a specified resource group. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * + * @param {string} [options.expand] Expands referenced resources. + * * @param {object} [options.customHeaders] Headers that will be added to the * request * @@ -34651,7 +36830,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34659,20 +36838,47 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} for more information. + * {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. */ - 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; + 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; /** - * Lists all the VpnGateways in a subscription. + * Creates or updates a service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34681,14 +36887,41 @@ export interface VpnGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a subscription. + * Creates or updates a service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34702,7 +36935,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34710,67 +36943,30 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} for more information. + * {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(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - list(callback: ServiceCallback): void; - list(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; /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. - * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs - * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. - * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. - * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. - * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. - * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * Updates service Endpoint Policies. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. - * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. - * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. - * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} [vpnGatewayParameters.location] Resource location. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -34779,61 +36975,75 @@ export interface VpnGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + updateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Creates a virtual wan vpn gateway if it doesn't exist else updates the - * existing gateway. + * Updates service Endpoint Policies. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {object} vpnGatewayParameters Parameters supplied to create or Update - * a virtual wan vpn gateway. + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. * - * @param {object} [vpnGatewayParameters.virtualHub] The VirtualHub to which - * the gateway belongs + * @param {object} [parameters.tags] Resource tags. * - * @param {string} [vpnGatewayParameters.virtualHub.id] Resource ID. + * @param {object} [options] Optional Parameters. * - * @param {array} [vpnGatewayParameters.connections] list of all vpn - * connections to the gateway. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [vpnGatewayParameters.bgpSettings] Local network gateway's - * BGP speaker settings. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {number} [vpnGatewayParameters.bgpSettings.asn] The BGP speaker's - * ASN. + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [vpnGatewayParameters.bgpSettings.bgpPeeringAddress] The BGP - * peering address and BGP identifier of this BGP speaker. + * {Promise} A promise is returned. * - * @param {number} [vpnGatewayParameters.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * - * @param {string} [vpnGatewayParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @reject {Error|ServiceError} - The error object. * - * @param {object} [vpnGatewayParameters.policies] The policies applied to this - * vpn gateway. + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {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. + * + * {WebResource} [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; + + + /** + * Gets all the service endpoint policies in a subscription. * - * @param {boolean} [vpnGatewayParameters.policies.allowBranchToBranchTraffic] - * True if branch to branch traffic is allowed. + * @param {object} [options] Optional Parameters. * - * @param {boolean} [vpnGatewayParameters.policies.allowVnetToVnetTraffic] True - * if Vnet to Vnet traffic is allowed. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [vpnGatewayParameters.id] Resource ID. + * @returns {Promise} A promise is returned * - * @param {string} [vpnGatewayParameters.location] Resource location. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @reject {Error|ServiceError} - The error object. + */ + listWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all the service endpoint policies in a subscription. * * @param {object} [options] Optional Parameters. * @@ -34847,7 +37057,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34855,29 +37065,23 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {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, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.VpnGateway, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + list(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + list(callback: ServiceCallback): void; + list(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Updates virtual wan vpn gateway tags. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * Gets all service endpoint Policies in a resource group. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -34886,23 +37090,16 @@ export interface VpnGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupWithHttpOperationResponse(resourceGroupName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Updates virtual wan vpn gateway tags. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {object} vpnGatewayParameters Parameters supplied to update a virtual - * wan vpn gateway tags. + * Gets all service endpoint Policies in a resource group. * - * @param {object} [vpnGatewayParameters.tags] Resource tags. + * @param {string} resourceGroupName The name of the resource group. * * @param {object} [options] Optional Parameters. * @@ -34916,7 +37113,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {VpnGateway} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -34924,24 +37121,26 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnGateway} [result] - The deserialized result object if an error did not occur. - * See {@link VpnGateway} for more information. + * {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. */ - beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, callback: ServiceCallback): void; - beginUpdateTags(resourceGroupName: string, gatewayName: string, vpnGatewayParameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 a virtual wan vpn gateway. + * Deletes the specified service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -34954,14 +37153,15 @@ export interface VpnGateways { * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a virtual wan vpn gateway. + * Deletes the specified service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * * @param {object} [options] Optional Parameters. * @@ -34989,16 +37189,40 @@ export interface VpnGateways { * * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginDeleteMethod(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, serviceEndpointPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; /** - * Lists all the VpnGateways in a resource group. + * Creates or updates a service Endpoint Policies. * - * @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} 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. * @@ -35007,17 +37231,41 @@ export interface VpnGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.ServiceEndpointPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a resource group. + * Creates or updates a service Endpoint Policies. * - * @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} 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. * @@ -35031,7 +37279,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35039,23 +37287,30 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} for more information. + * {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. */ - 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; + 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; /** - * Lists all the VpnGateways in a subscription. + * Updates service Endpoint Policies. * - * @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} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35064,17 +37319,24 @@ export interface VpnGateways { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Lists all the VpnGateways in a subscription. + * Updates service Endpoint Policies. * - * @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} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. * * @param {object} [options] Optional Parameters. * @@ -35088,7 +37350,7 @@ export interface VpnGateways { * * {Promise} A promise is returned. * - * @resolve {ListVpnGatewaysResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicy} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35096,35 +37358,23 @@ export interface VpnGateways { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnGatewaysResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnGatewaysResult} for more information. + * {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. */ - listNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listNext(nextPageLink: string, callback: ServiceCallback): void; - listNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; -} - -/** - * @class - * VpnConnections - * __NOTE__: An instance of this class is automatically created for an - * instance of the NetworkManagementClient. - */ -export interface VpnConnections { + 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; /** - * Retrieves the details of a vpn connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. + * Gets all the service endpoint policies in a subscription. * - * @param {string} connectionName The name of the vpn connection. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -35133,20 +37383,17 @@ export interface VpnConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - getWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves the details of a vpn connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. + * Gets all the service endpoint policies in a subscription. * - * @param {string} connectionName The name of the vpn connection. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * * @param {object} [options] Optional Parameters. * @@ -35160,7 +37407,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {VpnConnection} - The deserialized result object. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35168,116 +37415,120 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VpnConnection} for more information. + * {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. */ - get(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - get(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; - get(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * Gets all service endpoint Policies in a resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} connectionName The name of the connection. + * @param {object} [options] Optional Parameters. * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. + * @returns {Promise} A promise is returned * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. + * @reject {Error|ServiceError} - The error object. + */ + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets all service endpoint Policies in a resource group. * - * @param {string} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. + * @param {object} [options] Optional Parameters. * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. * - * @param {string} [vpnConnectionParameters.id] Resource ID. + * {Promise} A promise is returned. * - * @param {string} [vpnConnectionParameters.location] Resource location. + * @resolve {ServiceEndpointPolicyListResult} - The deserialized result object. * - * @param {object} [vpnConnectionParameters.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 + * {ServiceEndpointPolicyListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyListResult} 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, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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; +} - /** - * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {string} connectionName The name of the connection. - * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. +/** + * @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 {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * - * @param {string} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' + * @param {object} [options] Optional Parameters. * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * @returns {Promise} A promise is returned * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @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} [vpnConnectionParameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnConnectionParameters.location] Resource location. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {object} [vpnConnectionParameters.tags] Resource tags. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -35291,7 +37542,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {VpnConnection} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35299,26 +37550,28 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VpnConnection} for more information. + * {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, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; - createOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Deletes a vpn connection. + * Get the specified service endpoint policy definitions from service endpoint + * policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * - * @param {string} connectionName The name of the connection. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * * @param {object} [options] Optional Parameters. * @@ -35327,20 +37580,23 @@ export interface VpnConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - deleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + getWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a vpn connection. + * Get the specified service endpoint policy definitions from service endpoint + * policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * - * @param {string} connectionName The name of the connection. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition name. * * @param {object} [options] Optional Parameters. * @@ -35354,7 +37610,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35362,23 +37618,55 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; - deleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @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. * @@ -35387,18 +37675,48 @@ export interface VpnConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByVpnGatewayWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + createOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @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. * @@ -35412,7 +37730,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {ListVpnConnectionsResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35420,117 +37738,115 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnConnectionsResult} for more + * {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. */ - listByVpnGateway(resourceGroupName: string, gatewayName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByVpnGateway(resourceGroupName: string, gatewayName: string, callback: ServiceCallback): void; - listByVpnGateway(resourceGroupName: string, gatewayName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. + * Gets all service endpoint policy definitions in a service end point policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * - * @param {string} connectionName The name of the connection. + * @param {object} [options] Optional Parameters. * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. + * @returns {Promise} A promise is returned * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. + * @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} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy name. * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * @param {object} [options] Optional Parameters. * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @param {ServiceCallback} [optionalCallback] - The optional callback. * - * @param {string} [vpnConnectionParameters.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} [vpnConnectionParameters.location] Resource location. + * {Promise} A promise is returned. * - * @param {object} [vpnConnectionParameters.tags] Resource tags. + * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. * - * @param {object} [options] Optional Parameters. + * @reject {Error|ServiceError} - The error object. * - * @param {object} [options.customHeaders] Headers that will be added to the - * request + * {ServiceCallback} optionalCallback(err, result, request, response) * - * @returns {Promise} A promise is returned + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * @resolve {HttpOperationResponse} - The deserialized result object. + * {ServiceEndpointPolicyDefinitionListResult} [result] - The deserialized result object if an error did not occur. + * See {@link ServiceEndpointPolicyDefinitionListResult} + * for more information. * - * @reject {Error|ServiceError} - The error object. + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. */ - beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + 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; + /** - * Creates a vpn connection to a scalable vpn gateway if it doesn't exist else - * updates the existing connection. - * - * @param {string} resourceGroupName The resource group name of the VpnGateway. - * - * @param {string} gatewayName The name of the gateway. - * - * @param {string} connectionName The name of the connection. - * - * @param {object} vpnConnectionParameters Parameters supplied to create or - * Update a VPN Connection. + * Deletes the specified ServiceEndpoint policy definitions. * - * @param {object} [vpnConnectionParameters.remoteVpnSite] Id of the connected - * vpn site. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnConnectionParameters.remoteVpnSite.id] Resource ID. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {number} [vpnConnectionParameters.routingWeight] routing weight for - * vpn connection. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * - * @param {string} [vpnConnectionParameters.connectionStatus] The connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' + * @param {object} [options] Optional Parameters. * - * @param {string} [vpnConnectionParameters.sharedKey] SharedKey for the vpn - * connection. + * @param {object} [options.customHeaders] Headers that will be added to the + * request * - * @param {boolean} [vpnConnectionParameters.enableBgp] EnableBgp flag + * @returns {Promise} A promise is returned * - * @param {array} [vpnConnectionParameters.ipsecPolicies] The IPSec Policies to - * be considered by this connection. + * @resolve {HttpOperationResponse} - The deserialized result object. * - * @param {string} [vpnConnectionParameters.provisioningState] The provisioning - * state of the resource. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' + * @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} [vpnConnectionParameters.id] Resource ID. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} [vpnConnectionParameters.location] Resource location. + * @param {string} serviceEndpointPolicyName The name of the Service Endpoint + * Policy. * - * @param {object} [vpnConnectionParameters.tags] Resource tags. + * @param {string} serviceEndpointPolicyDefinitionName The name of the service + * endpoint policy definition. * * @param {object} [options] Optional Parameters. * @@ -35544,7 +37860,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {VpnConnection} - The deserialized result object. + * @resolve {null} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35552,26 +37868,53 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {VpnConnection} [result] - The deserialized result object if an error did not occur. - * See {@link VpnConnection} for more information. + * {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, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, callback: ServiceCallback): void; - beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, connectionName: string, vpnConnectionParameters: models.VpnConnection, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Deletes a vpn connection. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} connectionName The name of the connection. + * @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. * @@ -35580,20 +37923,48 @@ export interface VpnConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, serviceEndpointPolicyName: string, serviceEndpointPolicyDefinitionName: string, serviceEndpointPolicyDefinitions: models.ServiceEndpointPolicyDefinition, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Deletes a vpn connection. + * Creates or updates a service endpoint policy definition in the specified + * service endpoint policy. * - * @param {string} resourceGroupName The resource group name of the VpnGateway. + * @param {string} resourceGroupName The name of the resource group. * - * @param {string} gatewayName The name of the gateway. + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. * - * @param {string} connectionName The name of the connection. + * @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. * @@ -35607,7 +37978,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {null} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinition} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35615,19 +37986,21 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {null} [result] - The deserialized result object if an error did not occur. + * {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. */ - beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, callback: ServiceCallback): void; - beginDeleteMethod(resourceGroupName: string, gatewayName: string, connectionName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * 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. @@ -35639,14 +38012,14 @@ export interface VpnConnections { * * @returns {Promise} A promise is returned * - * @resolve {HttpOperationResponse} - The deserialized result object. + * @resolve {HttpOperationResponse} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. */ - listByVpnGatewayNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + listByResourceGroupNextWithHttpOperationResponse(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; /** - * Retrieves all vpn connections for a particular virtual wan vpn gateway. + * 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. @@ -35663,7 +38036,7 @@ export interface VpnConnections { * * {Promise} A promise is returned. * - * @resolve {ListVpnConnectionsResult} - The deserialized result object. + * @resolve {ServiceEndpointPolicyDefinitionListResult} - The deserialized result object. * * @reject {Error|ServiceError} - The error object. * @@ -35671,15 +38044,15 @@ export interface VpnConnections { * * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. * - * {ListVpnConnectionsResult} [result] - The deserialized result object if an error did not occur. - * See {@link ListVpnConnectionsResult} for more - * information. + * {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. */ - listByVpnGatewayNext(nextPageLink: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; - listByVpnGatewayNext(nextPageLink: string, callback: ServiceCallback): void; - listByVpnGatewayNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + 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 65816959b8..72d46c9a6c 100644 --- a/lib/services/networkManagement2/lib/operations/index.js +++ b/lib/services/networkManagement2/lib/operations/index.js @@ -44,6 +44,7 @@ exports.PacketCaptures = require('./packetCaptures'); exports.ConnectionMonitors = require('./connectionMonitors'); exports.Operations = require('./operations'); exports.PublicIPAddresses = require('./publicIPAddresses'); +exports.PublicIPPrefixes = require('./publicIPPrefixes'); exports.RouteFilters = require('./routeFilters'); exports.RouteFilterRules = require('./routeFilterRules'); exports.RouteTables = require('./routeTables'); @@ -63,3 +64,5 @@ exports.VirtualHubs = require('./virtualHubs'); exports.HubVirtualNetworkConnections = require('./hubVirtualNetworkConnections'); exports.VpnGateways = require('./vpnGateways'); exports.VpnConnections = require('./vpnConnections'); +exports.ServiceEndpointPolicies = require('./serviceEndpointPolicies'); +exports.ServiceEndpointPolicyDefinitions = require('./serviceEndpointPolicyDefinitions'); diff --git a/lib/services/networkManagement2/lib/operations/publicIPAddresses.js b/lib/services/networkManagement2/lib/operations/publicIPAddresses.js index 0234c3a76b..53dcea5bb7 100644 --- a/lib/services/networkManagement2/lib/operations/publicIPAddresses.js +++ b/lib/services/networkManagement2/lib/operations/publicIPAddresses.js @@ -278,6 +278,48 @@ function _get(resourceGroupName, publicIpAddressName, options, callback) { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -1383,6 +1425,48 @@ function _beginDeleteMethod(resourceGroupName, publicIpAddressName, options, cal * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -2503,6 +2587,48 @@ class PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -2598,6 +2724,48 @@ class PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -3360,6 +3528,48 @@ class PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * @@ -3455,6 +3665,48 @@ class PublicIPAddresses { * @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 {object} [parameters.publicIPPrefix.sku] The public IP prefix SKU. + * + * @param {string} [parameters.publicIPPrefix.sku.name] Name of a public IP + * prefix SKU. Possible values include: 'Standard' + * + * @param {string} [parameters.publicIPPrefix.publicIPAddressVersion] The + * public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible + * values include: 'IPv4', 'IPv6' + * + * @param {array} [parameters.publicIPPrefix.ipTags] The list of tags + * associated with the public IP prefix. + * + * @param {number} [parameters.publicIPPrefix.prefixLength] The Length of the + * Public IP Prefix. + * + * @param {string} [parameters.publicIPPrefix.ipPrefix] The allocated Prefix + * + * @param {array} [parameters.publicIPPrefix.publicIPAddresses] The list of all + * referenced PublicIPAddresses + * + * @param {string} [parameters.publicIPPrefix.resourceGuid] The resource GUID + * property of the public IP prefix resource. + * + * @param {string} [parameters.publicIPPrefix.provisioningState] The + * provisioning state of the Public IP prefix resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + * + * @param {string} [parameters.publicIPPrefix.etag] A unique read-only string + * that changes whenever the resource is updated. + * + * @param {array} [parameters.publicIPPrefix.zones] A list of availability + * zones denoting the IP allocated for the resource needs to come from. + * + * @param {string} [parameters.publicIPPrefix.id] Resource ID. + * + * @param {string} [parameters.publicIPPrefix.location] Resource location. + * + * @param {object} [parameters.publicIPPrefix.tags] Resource tags. + * * @param {number} [parameters.idleTimeoutInMinutes] The idle timeout of the * public IP address. * diff --git a/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js b/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js new file mode 100644 index 0000000000..63e1c12574 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js @@ -0,0 +1,2617 @@ +/* + * 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 public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * + * @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, publicIpPrefixName, 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, publicIpPrefixName, 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 public IP prefix in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.expand] Expands referenced resources. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 PublicIPPrefix} 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, publicIpPrefixName, 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-07-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 (publicIpPrefixName === null || publicIpPrefixName === undefined || typeof publicIpPrefixName.valueOf() !== 'string') { + throw new Error('publicIpPrefixName 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/publicIPPrefixes/{publicIpPrefixName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{publicIpPrefixName}', encodeURIComponent(publicIpPrefixName)); + 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['PublicIPPrefix']().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 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 + * 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 PublicIPPrefix} 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, publicIpPrefixName, 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, publicIpPrefixName, 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['PublicIPPrefix']().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 public IP prefix tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 PublicIPPrefix} 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, publicIpPrefixName, 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.beginUpdateTags(resourceGroupName, publicIpPrefixName, 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['PublicIPPrefix']().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 public IP prefixes 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 PublicIPPrefixListResult} 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-07-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/publicIPPrefixes'; + 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['PublicIPPrefixListResult']().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 public IP prefixes 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 PublicIPPrefixListResult} 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-07-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/publicIPPrefixes'; + 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['PublicIPPrefixListResult']().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 public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * + * @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, publicIpPrefixName, 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-07-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 (publicIpPrefixName === null || publicIpPrefixName === undefined || typeof publicIpPrefixName.valueOf() !== 'string') { + throw new Error('publicIpPrefixName 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/publicIPPrefixes/{publicIpPrefixName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{publicIpPrefixName}', encodeURIComponent(publicIpPrefixName)); + 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 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 + * 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 PublicIPPrefix} 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, publicIpPrefixName, 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-07-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 (publicIpPrefixName === null || publicIpPrefixName === undefined || typeof publicIpPrefixName.valueOf() !== 'string') { + throw new Error('publicIpPrefixName 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/publicIPPrefixes/{publicIpPrefixName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{publicIpPrefixName}', encodeURIComponent(publicIpPrefixName)); + 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['PublicIPPrefix']().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['PublicIPPrefix']().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['PublicIPPrefix']().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 public IP prefix tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 PublicIPPrefix} 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, publicIpPrefixName, 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-07-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 (publicIpPrefixName === null || publicIpPrefixName === undefined || typeof publicIpPrefixName.valueOf() !== 'string') { + throw new Error('publicIpPrefixName 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/publicIPPrefixes/{publicIpPrefixName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{publicIpPrefixName}', encodeURIComponent(publicIpPrefixName)); + 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 (parameters !== null && parameters !== undefined) { + let requestModelMapper = new client.models['TagsObject']().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) { + 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['PublicIPPrefix']().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 public IP prefixes in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 PublicIPPrefixListResult} 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['PublicIPPrefixListResult']().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 public IP prefixes in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 PublicIPPrefixListResult} 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['PublicIPPrefixListResult']().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 PublicIPPrefixes. */ +class PublicIPPrefixes { + /** + * Create a PublicIPPrefixes. + * @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._list = _list; + this._beginDeleteMethod = _beginDeleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._beginUpdateTags = _beginUpdateTags; + this._listAllNext = _listAllNext; + this._listNext = _listNext; + } + + /** + * Deletes the specified public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * + * @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, publicIpPrefixName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, publicIpPrefixName, 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 public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * + * @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, publicIpPrefixName, 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, publicIpPrefixName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, publicIpPrefixName, options, optionalCallback); + } + } + + /** + * Gets the specified public IP prefix in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.expand] Expands referenced resources. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName, publicIpPrefixName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, publicIpPrefixName, 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 public IP prefix in a specified resource group. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIPPrefx. + * + * @param {object} [options] Optional Parameters. + * + * @param {string} [options.expand] Expands referenced resources. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {PublicIPPrefix} - 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 PublicIPPrefix} 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, publicIpPrefixName, 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, publicIpPrefixName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, publicIpPrefixName, options, optionalCallback); + } + } + + /** + * 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 + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName, publicIpPrefixName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, publicIpPrefixName, 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 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 + * 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 {PublicIPPrefix} - 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 PublicIPPrefix} 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, publicIpPrefixName, 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, publicIpPrefixName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, publicIpPrefixName, parameters, options, optionalCallback); + } + } + + /** + * Updates public IP prefix tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + updateTagsWithHttpOperationResponse(resourceGroupName, publicIpPrefixName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._updateTags(resourceGroupName, publicIpPrefixName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Updates public IP prefix tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {PublicIPPrefix} - 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 PublicIPPrefix} 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, publicIpPrefixName, 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._updateTags(resourceGroupName, publicIpPrefixName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._updateTags(resourceGroupName, publicIpPrefixName, parameters, options, optionalCallback); + } + } + + /** + * Gets all the public IP prefixes 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 public IP prefixes 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 {PublicIPPrefixListResult} - 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 PublicIPPrefixListResult} 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 public IP prefixes 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 public IP prefixes 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 {PublicIPPrefixListResult} - 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 PublicIPPrefixListResult} 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); + } + } + + /** + * Deletes the specified public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * + * @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, publicIpPrefixName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, publicIpPrefixName, 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 public IP prefix. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the PublicIpPrefix. + * + * @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, publicIpPrefixName, 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, publicIpPrefixName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, publicIpPrefixName, options, optionalCallback); + } + } + + /** + * 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 + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName, publicIpPrefixName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, publicIpPrefixName, 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 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 + * 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 {PublicIPPrefix} - 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 PublicIPPrefix} 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, publicIpPrefixName, 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, publicIpPrefixName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, publicIpPrefixName, parameters, options, optionalCallback); + } + } + + /** + * Updates public IP prefix tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName, publicIpPrefixName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginUpdateTags(resourceGroupName, publicIpPrefixName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Updates public IP prefix tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} publicIpPrefixName The name of the public IP prefix. + * + * @param {object} parameters Parameters supplied to update public IP prefix + * tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {PublicIPPrefix} - 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 PublicIPPrefix} 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, publicIpPrefixName, 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._beginUpdateTags(resourceGroupName, publicIpPrefixName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginUpdateTags(resourceGroupName, publicIpPrefixName, parameters, options, optionalCallback); + } + } + + /** + * Gets all the public IP prefixes in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - 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 public IP prefixes in a subscription. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {PublicIPPrefixListResult} - 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 PublicIPPrefixListResult} 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 public IP prefixes in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - 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 public IP prefixes in a resource group. + * + * @param {string} nextPageLink The NextLink from the previous successful call + * to List operation. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {PublicIPPrefixListResult} - 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 PublicIPPrefixListResult} 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 = PublicIPPrefixes; diff --git a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js new file mode 100644 index 0000000000..1080d40432 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js @@ -0,0 +1,2518 @@ +/* + * 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 service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, 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 service Endpoint Policies 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} [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 ServiceEndpointPolicy} 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, serviceEndpointPolicyName, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName 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/serviceEndpointPolicies/{serviceEndpointPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + 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['ServiceEndpointPolicy']().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 service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 ServiceEndpointPolicy} 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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, 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['ServiceEndpointPolicy']().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 service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {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 ServiceEndpointPolicy} 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 _update(resourceGroupName, serviceEndpointPolicyName, 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.beginUpdate(resourceGroupName, serviceEndpointPolicyName, 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['ServiceEndpointPolicy']().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 service endpoint policies 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 ServiceEndpointPolicyListResult} 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(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-07-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/ServiceEndpointPolicies'; + 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['ServiceEndpointPolicyListResult']().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 service endpoint Policies 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 ServiceEndpointPolicyListResult} 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-07-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/serviceEndpointPolicies'; + 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['ServiceEndpointPolicyListResult']().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 service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @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, serviceEndpointPolicyName, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName 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/serviceEndpointPolicies/{serviceEndpointPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + 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 service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 ServiceEndpointPolicy} 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, serviceEndpointPolicyName, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName 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/serviceEndpointPolicies/{serviceEndpointPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + 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['ServiceEndpointPolicy']().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['ServiceEndpointPolicy']().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['ServiceEndpointPolicy']().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 service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {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 ServiceEndpointPolicy} 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 _beginUpdate(resourceGroupName, serviceEndpointPolicyName, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName 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/serviceEndpointPolicies/{serviceEndpointPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + 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 (parameters !== null && parameters !== undefined) { + let requestModelMapper = new client.models['TagsObject']().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) { + 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['ServiceEndpointPolicy']().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 service endpoint policies 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 ServiceEndpointPolicyListResult} 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['ServiceEndpointPolicyListResult']().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 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. + * + * @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 ServiceEndpointPolicyListResult} 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['ServiceEndpointPolicyListResult']().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 ServiceEndpointPolicies. */ +class ServiceEndpointPolicies { + /** + * Create a ServiceEndpointPolicies. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._deleteMethod = _deleteMethod; + this._get = _get; + this._createOrUpdate = _createOrUpdate; + this._update = _update; + this._list = _list; + this._listByResourceGroup = _listByResourceGroup; + this._beginDeleteMethod = _beginDeleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._beginUpdate = _beginUpdate; + this._listNext = _listNext; + this._listByResourceGroupNext = _listByResourceGroupNext; + } + + /** + * 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. + * + * @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, serviceEndpointPolicyName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, serviceEndpointPolicyName, 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 service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, serviceEndpointPolicyName, options, optionalCallback); + } + } + + /** + * Gets the specified service Endpoint Policies 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} [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, serviceEndpointPolicyName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, serviceEndpointPolicyName, 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 service Endpoint Policies 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} [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 {ServiceEndpointPolicy} - 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 ServiceEndpointPolicy} 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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, serviceEndpointPolicyName, options, optionalCallback); + } + } + + /** + * Creates or updates a service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, serviceEndpointPolicyName, 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 service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 {ServiceEndpointPolicy} - 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 ServiceEndpointPolicy} 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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, serviceEndpointPolicyName, parameters, options, optionalCallback); + } + } + + /** + * Updates service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {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. + */ + updateWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._update(resourceGroupName, serviceEndpointPolicyName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Updates service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {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 {ServiceEndpointPolicy} - 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 ServiceEndpointPolicy} 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. + */ + update(resourceGroupName, serviceEndpointPolicyName, 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._update(resourceGroupName, serviceEndpointPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._update(resourceGroupName, serviceEndpointPolicyName, parameters, options, optionalCallback); + } + } + + /** + * Gets all the service endpoint policies 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. + */ + listWithHttpOperationResponse(options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._list(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 service endpoint policies 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 {ServiceEndpointPolicyListResult} - 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 ServiceEndpointPolicyListResult} 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(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(options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._list(options, optionalCallback); + } + } + + /** + * Gets all service endpoint Policies 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. + */ + 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 service endpoint Policies 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 {ServiceEndpointPolicyListResult} - 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 ServiceEndpointPolicyListResult} 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 service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, 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 service endpoint policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, options, optionalCallback); + } + } + + /** + * Creates or updates a service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, 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 service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to the create or update + * service endpoint policy operation. + * + * @param {array} [parameters.serviceEndpointPolicyDefinitions] A collection of + * service endpoint policy definitions of the service endpoint policy. + * + * @param {string} [parameters.resourceGuid] The resource GUID property of the + * service endpoint policy resource. + * + * @param {string} [parameters.provisioningState] The provisioning state of the + * service endpoint policy. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + * + * @param {string} [parameters.etag] A unique read-only string that changes + * whenever the resource is updated. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * 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 {ServiceEndpointPolicy} - 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 ServiceEndpointPolicy} 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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, parameters, options, optionalCallback); + } + } + + /** + * Updates service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {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. + */ + beginUpdateWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginUpdate(resourceGroupName, serviceEndpointPolicyName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Updates service Endpoint Policies. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} serviceEndpointPolicyName The name of the service endpoint + * policy. + * + * @param {object} parameters Parameters supplied to update service endpoint + * policy tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {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 {ServiceEndpointPolicy} - 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 ServiceEndpointPolicy} 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. + */ + beginUpdate(resourceGroupName, serviceEndpointPolicyName, 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._beginUpdate(resourceGroupName, serviceEndpointPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginUpdate(resourceGroupName, serviceEndpointPolicyName, parameters, options, optionalCallback); + } + } + + /** + * Gets all the service endpoint policies 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. + */ + 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 the service endpoint policies 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 {ServiceEndpointPolicyListResult} - 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 ServiceEndpointPolicyListResult} 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 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. + * + * @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 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. + * + * @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 {ServiceEndpointPolicyListResult} - 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 ServiceEndpointPolicyListResult} 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 = ServiceEndpointPolicies; diff --git a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js new file mode 100644 index 0000000000..4621ef341e --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js @@ -0,0 +1,1734 @@ +/* + * 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 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 {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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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 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 {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 ServiceEndpointPolicyDefinition} 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName cannot be null or undefined and it must be of type string.'); + } + if (serviceEndpointPolicyDefinitionName === null || serviceEndpointPolicyDefinitionName === undefined || typeof serviceEndpointPolicyDefinitionName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyDefinitionName 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/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinition/{serviceEndpointPolicyDefinitionName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyDefinitionName}', encodeURIComponent(serviceEndpointPolicyDefinitionName)); + 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['ServiceEndpointPolicyDefinition']().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 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 {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 ServiceEndpointPolicyDefinition} 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, 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['ServiceEndpointPolicyDefinition']().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 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 {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 ServiceEndpointPolicyDefinitionListResult} + * 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, serviceEndpointPolicyName, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName 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/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + 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['ServiceEndpointPolicyDefinitionListResult']().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 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 {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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName cannot be null or undefined and it must be of type string.'); + } + if (serviceEndpointPolicyDefinitionName === null || serviceEndpointPolicyDefinitionName === undefined || typeof serviceEndpointPolicyDefinitionName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyDefinitionName 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/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinition/{serviceEndpointPolicyDefinitionName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyDefinitionName}', encodeURIComponent(serviceEndpointPolicyDefinitionName)); + 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 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 {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 ServiceEndpointPolicyDefinition} 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, 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-07-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 (serviceEndpointPolicyName === null || serviceEndpointPolicyName === undefined || typeof serviceEndpointPolicyName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyName cannot be null or undefined and it must be of type string.'); + } + if (serviceEndpointPolicyDefinitionName === null || serviceEndpointPolicyDefinitionName === undefined || typeof serviceEndpointPolicyDefinitionName.valueOf() !== 'string') { + throw new Error('serviceEndpointPolicyDefinitionName cannot be null or undefined and it must be of type string.'); + } + if (serviceEndpointPolicyDefinitions === null || serviceEndpointPolicyDefinitions === undefined) { + throw new Error('serviceEndpointPolicyDefinitions 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/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinition/{serviceEndpointPolicyDefinitionName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyName}', encodeURIComponent(serviceEndpointPolicyName)); + requestUrl = requestUrl.replace('{serviceEndpointPolicyDefinitionName}', encodeURIComponent(serviceEndpointPolicyDefinitionName)); + 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 (serviceEndpointPolicyDefinitions !== null && serviceEndpointPolicyDefinitions !== undefined) { + let requestModelMapper = new client.models['ServiceEndpointPolicyDefinition']().mapper(); + requestModel = client.serialize(requestModelMapper, serviceEndpointPolicyDefinitions, 'serviceEndpointPolicyDefinitions'); + requestContent = JSON.stringify(requestModel); + } + } catch (error) { + let serializationError = new Error(`Error "${error.message}" occurred in serializing the ` + + `payload - ${JSON.stringify(serviceEndpointPolicyDefinitions, 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['ServiceEndpointPolicyDefinition']().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['ServiceEndpointPolicyDefinition']().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 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 {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 ServiceEndpointPolicyDefinitionListResult} + * 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['ServiceEndpointPolicyDefinitionListResult']().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 ServiceEndpointPolicyDefinitions. */ +class ServiceEndpointPolicyDefinitions { + /** + * Create a ServiceEndpointPolicyDefinitions. + * @param {NetworkManagementClient} client Reference to the service client. + */ + constructor(client) { + this.client = client; + this._deleteMethod = _deleteMethod; + this._get = _get; + this._createOrUpdate = _createOrUpdate; + this._listByResourceGroup = _listByResourceGroup; + this._beginDeleteMethod = _beginDeleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._listByResourceGroupNext = _listByResourceGroupNext; + } + + /** + * 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} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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 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 {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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options, optionalCallback); + } + } + + /** + * 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} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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 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 {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 {ServiceEndpointPolicyDefinition} - 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 ServiceEndpointPolicyDefinition} 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options, optionalCallback); + } + } + + /** + * 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} - The error object. + */ + createOrUpdateWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, 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 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 {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 {ServiceEndpointPolicyDefinition} - 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 ServiceEndpointPolicyDefinition} 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, options, optionalCallback); + } + } + + /** + * 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} - The error object. + */ + listByResourceGroupWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listByResourceGroup(resourceGroupName, serviceEndpointPolicyName, 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 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 {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 {ServiceEndpointPolicyDefinitionListResult} - 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 ServiceEndpointPolicyDefinitionListResult} + * 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, serviceEndpointPolicyName, 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, serviceEndpointPolicyName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listByResourceGroup(resourceGroupName, serviceEndpointPolicyName, options, optionalCallback); + } + } + + /** + * 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} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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 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 {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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, options, optionalCallback); + } + } + + /** + * 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} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, 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 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 {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 {ServiceEndpointPolicyDefinition} - 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 ServiceEndpointPolicyDefinition} 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, 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, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions, options, optionalCallback); + } + } + + /** + * 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} - 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 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 {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 {ServiceEndpointPolicyDefinitionListResult} - 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 ServiceEndpointPolicyDefinitionListResult} + * 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 = ServiceEndpointPolicyDefinitions; diff --git a/lib/services/networkManagement2/lib/operations/subnets.js b/lib/services/networkManagement2/lib/operations/subnets.js index f7003e46b0..a1af5e8771 100644 --- a/lib/services/networkManagement2/lib/operations/subnets.js +++ b/lib/services/networkManagement2/lib/operations/subnets.js @@ -305,6 +305,9 @@ function _get(resourceGroupName, virtualNetworkName, subnetName, options, callba * @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. * @@ -731,6 +734,9 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, subnetName, o * @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. * @@ -1314,6 +1320,9 @@ class Subnets { * @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. * @@ -1421,6 +1430,9 @@ class Subnets { * @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. * @@ -1725,6 +1737,9 @@ class Subnets { * @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. * @@ -1832,6 +1847,9 @@ class Subnets { * @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. * diff --git a/lib/services/networkManagement2/lib/operations/usages.js b/lib/services/networkManagement2/lib/operations/usages.js index dfdc7721f5..3cbfcbbd8f 100644 --- a/lib/services/networkManagement2/lib/operations/usages.js +++ b/lib/services/networkManagement2/lib/operations/usages.js @@ -54,9 +54,9 @@ function _list(location, options, callback) { throw new Error('location cannot be null or undefined and it must be of type string.'); } if (location !== null && location !== undefined) { - if (location.match(/^[-\w\._]+$/) === null) + if (location.match(/^[-\w\._ ]+$/) === null) { - throw new Error('"location" should satisfy the constraint - "Pattern": /^[-\w\._]+$/'); + throw new Error('"location" should satisfy the constraint - "Pattern": /^[-\w\._ ]+$/'); } } if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/package.json b/lib/services/networkManagement2/package.json index 8da21fccdf..7efe096af9 100644 --- a/lib/services/networkManagement2/package.json +++ b/lib/services/networkManagement2/package.json @@ -2,7 +2,7 @@ "name": "azure-arm-network", "author": "Microsoft Corporation", "description": "NetworkManagementClient Library with typescript type definitions for node", - "version": "5.2.0", + "version": "6.0.0", "dependencies": { "ms-rest": "^2.3.3", "ms-rest-azure": "^2.5.5" @@ -14,12 +14,12 @@ "license": "MIT", "main": "./lib/networkManagementClient.js", "types": "./lib/networkManagementClient.d.ts", - "homepage": "http://github.com/azure/azure-sdk-for-node", + "homepage": "https://github.com/azure/azure-sdk-for-node", "repository": { "type": "git", "url": "https://github.com/azure/azure-sdk-for-node.git" }, "bugs": { - "url": "http://github.com/Azure/azure-sdk-for-node/issues" + "url": "https://github.com/azure/azure-sdk-for-node/issues" } }