From 92be5b06daea8c0a47b0425686bb6e26aaebac72 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Mon, 7 Jan 2019 14:30:55 -0800 Subject: [PATCH 1/4] Generated from a21a314734c7a332a74e4ef479915ead4c4cfeaf (#4513) Fix errors in old Network API version --- lib/services/networkManagement2/LICENSE.txt | 2 +- ...ionGatewayAvailableRequestHeadersResult.js | 60 + ...onGatewayAvailableResponseHeadersResult.js | 60 + ...onGatewayAvailableServerVariablesResult.js | 60 + .../applicationGatewayBackendHealthServer.js | 13 + .../lib/models/ddosSettings.js | 65 + .../lib/models/frontendIPConfiguration.js | 10 + .../lib/models/iPConfiguration.js | 10 + .../lib/models/inboundNatRule.js | 13 + .../networkManagement2/lib/models/index.d.ts | 13068 ++++++---------- .../networkManagement2/lib/models/index.js | 8 +- .../models/networkInterfaceIPConfiguration.js | 10 + .../networkInterfaceTapConfiguration.js | 28 + .../lib/models/publicIPAddress.js | 16 + .../lib/models/virtualNetworkTap.js | 28 + .../lib/networkManagementClient.js | 4 +- .../lib/operations/applicationGateways.js | 671 +- .../operations/applicationSecurityGroups.js | 462 +- .../lib/operations/availableDelegations.js | 2 +- .../operations/availableEndpointServices.js | 2 +- .../availableResourceGroupDelegations.js | 2 +- .../lib/operations/azureFirewallFqdnTags.js | 2 +- .../lib/operations/azureFirewalls.js | 10 +- .../lib/operations/bgpServiceCommunities.js | 2 +- .../lib/operations/connectionMonitors.js | 14 +- .../lib/operations/ddosProtectionPlans.js | 10 +- .../lib/operations/defaultSecurityRules.js | 4 +- .../expressRouteCircuitAuthorizations.js | 8 +- .../expressRouteCircuitConnections.js | 8 +- .../operations/expressRouteCircuitPeerings.js | 8 +- .../lib/operations/expressRouteCircuits.js | 22 +- .../lib/operations/expressRouteConnections.js | 8 +- .../expressRouteCrossConnectionPeerings.js | 8 +- .../expressRouteCrossConnections.js | 16 +- .../lib/operations/expressRouteGateways.js | 10 +- .../lib/operations/expressRouteLinks.js | 4 +- .../lib/operations/expressRoutePorts.js | 12 +- .../operations/expressRoutePortsLocations.js | 4 +- .../expressRouteServiceProviders.js | 2 +- .../hubVirtualNetworkConnections.js | 4 +- .../lib/operations/inboundNatRules.js | 8 +- .../lib/operations/index.d.ts | 459 + .../lib/operations/interfaceEndpoints.js | 10 +- .../loadBalancerBackendAddressPools.js | 4 +- .../loadBalancerFrontendIPConfigurations.js | 4 +- .../loadBalancerLoadBalancingRules.js | 4 +- .../loadBalancerNetworkInterfaces.js | 2 +- .../operations/loadBalancerOutboundRules.js | 4 +- .../lib/operations/loadBalancerProbes.js | 4 +- .../lib/operations/loadBalancers.js | 12 +- .../lib/operations/localNetworkGateways.js | 10 +- .../networkInterfaceIPConfigurations.js | 4 +- .../networkInterfaceLoadBalancers.js | 2 +- .../networkInterfaceTapConfigurations.js | 92 +- .../lib/operations/networkInterfaces.js | 16 +- .../lib/operations/networkProfiles.js | 12 +- .../lib/operations/networkSecurityGroups.js | 12 +- .../lib/operations/networkWatchers.js | 36 +- .../lib/operations/operations.js | 2 +- .../lib/operations/p2sVpnGateways.js | 14 +- .../operations/p2sVpnServerConfigurations.js | 8 +- .../lib/operations/packetCaptures.js | 12 +- .../lib/operations/publicIPAddresses.js | 78 +- .../lib/operations/publicIPPrefixes.js | 12 +- .../lib/operations/routeFilterRules.js | 10 +- .../lib/operations/routeFilters.js | 12 +- .../lib/operations/routeTables.js | 12 +- .../lib/operations/routes.js | 8 +- .../lib/operations/securityRules.js | 8 +- .../lib/operations/serviceEndpointPolicies.js | 12 +- .../serviceEndpointPolicyDefinitions.js | 8 +- .../lib/operations/subnets.js | 8 +- .../lib/operations/usages.js | 2 +- .../lib/operations/virtualHubs.js | 12 +- .../virtualNetworkGatewayConnections.js | 16 +- .../lib/operations/virtualNetworkGateways.js | 36 +- .../lib/operations/virtualNetworkPeerings.js | 8 +- .../lib/operations/virtualNetworkTaps.js | 96 +- .../lib/operations/virtualNetworks.js | 16 +- .../lib/operations/virtualWans.js | 12 +- .../lib/operations/vpnConnections.js | 8 +- .../lib/operations/vpnGateways.js | 12 +- .../lib/operations/vpnSites.js | 12 +- .../lib/operations/vpnSitesConfiguration.js | 2 +- 84 files changed, 7561 insertions(+), 8320 deletions(-) create mode 100644 lib/services/networkManagement2/lib/models/applicationGatewayAvailableRequestHeadersResult.js create mode 100644 lib/services/networkManagement2/lib/models/applicationGatewayAvailableResponseHeadersResult.js create mode 100644 lib/services/networkManagement2/lib/models/applicationGatewayAvailableServerVariablesResult.js create mode 100644 lib/services/networkManagement2/lib/models/ddosSettings.js diff --git a/lib/services/networkManagement2/LICENSE.txt b/lib/services/networkManagement2/LICENSE.txt index 5431ba98b9..8f3d856145 100644 --- a/lib/services/networkManagement2/LICENSE.txt +++ b/lib/services/networkManagement2/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayAvailableRequestHeadersResult.js b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableRequestHeadersResult.js new file mode 100644 index 0000000000..0988eb5d9b --- /dev/null +++ b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableRequestHeadersResult.js @@ -0,0 +1,60 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Response for ApplicationGatewayAvailableRequestHeaders API service call. + * + */ +class ApplicationGatewayAvailableRequestHeadersResult { + /** + * Create a ApplicationGatewayAvailableRequestHeadersResult. + * @property {array} [value] The list of supported request headers in + * application gateway. + */ + constructor() { + } + + /** + * Defines the metadata of ApplicationGatewayAvailableRequestHeadersResult + * + * @returns {object} metadata of ApplicationGatewayAvailableRequestHeadersResult + * + */ + mapper() { + return { + required: false, + serializedName: 'ApplicationGatewayAvailableRequestHeadersResult', + type: { + name: 'Composite', + className: 'ApplicationGatewayAvailableRequestHeadersResult', + modelProperties: { + value: { + required: false, + serializedName: 'value', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + } + } + } + }; + } +} + +module.exports = ApplicationGatewayAvailableRequestHeadersResult; diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayAvailableResponseHeadersResult.js b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableResponseHeadersResult.js new file mode 100644 index 0000000000..1165b9c229 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableResponseHeadersResult.js @@ -0,0 +1,60 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Response for ApplicationGatewayAvailableResponeHeaders API service call. + * + */ +class ApplicationGatewayAvailableResponseHeadersResult { + /** + * Create a ApplicationGatewayAvailableResponseHeadersResult. + * @property {array} [value] The list of supported response header in + * application gateway. + */ + constructor() { + } + + /** + * Defines the metadata of ApplicationGatewayAvailableResponseHeadersResult + * + * @returns {object} metadata of ApplicationGatewayAvailableResponseHeadersResult + * + */ + mapper() { + return { + required: false, + serializedName: 'ApplicationGatewayAvailableResponseHeadersResult', + type: { + name: 'Composite', + className: 'ApplicationGatewayAvailableResponseHeadersResult', + modelProperties: { + value: { + required: false, + serializedName: 'value', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + } + } + } + }; + } +} + +module.exports = ApplicationGatewayAvailableResponseHeadersResult; diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayAvailableServerVariablesResult.js b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableServerVariablesResult.js new file mode 100644 index 0000000000..12c2b4e041 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/applicationGatewayAvailableServerVariablesResult.js @@ -0,0 +1,60 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Response for ApplicationGatewayAvailableServerVariables API service call. + * + */ +class ApplicationGatewayAvailableServerVariablesResult { + /** + * Create a ApplicationGatewayAvailableServerVariablesResult. + * @property {array} [value] The list of supported server variables in + * application gateway. + */ + constructor() { + } + + /** + * Defines the metadata of ApplicationGatewayAvailableServerVariablesResult + * + * @returns {object} metadata of ApplicationGatewayAvailableServerVariablesResult + * + */ + mapper() { + return { + required: false, + serializedName: 'ApplicationGatewayAvailableServerVariablesResult', + type: { + name: 'Composite', + className: 'ApplicationGatewayAvailableServerVariablesResult', + modelProperties: { + value: { + required: false, + serializedName: 'value', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'StringElementType', + type: { + name: 'String' + } + } + } + } + } + } + }; + } +} + +module.exports = ApplicationGatewayAvailableServerVariablesResult; diff --git a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js index a2831585f2..4d57f5fb74 100644 --- a/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js +++ b/lib/services/networkManagement2/lib/models/applicationGatewayBackendHealthServer.js @@ -255,6 +255,19 @@ class ApplicationGatewayBackendHealthServer { * this public IP address. If the reverseFqdn is specified, then a PTR DNS * record is created pointing from the IP address in the in-addr.arpa domain * to the reverse FQDN. + * @property {object} [ipConfiguration.publicIPAddress.ddosSettings] The DDoS + * protection custom policy associated with the public IP address. + * @property {object} + * [ipConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] The DDoS + * custom policy associated with the public IP. + * @property {string} + * [ipConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} + * [ipConfiguration.publicIPAddress.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' * @property {array} [ipConfiguration.publicIPAddress.ipTags] The list of * tags associated with the public IP address. * @property {string} [ipConfiguration.publicIPAddress.ipAddress] The IP diff --git a/lib/services/networkManagement2/lib/models/ddosSettings.js b/lib/services/networkManagement2/lib/models/ddosSettings.js new file mode 100644 index 0000000000..81499e69ad --- /dev/null +++ b/lib/services/networkManagement2/lib/models/ddosSettings.js @@ -0,0 +1,65 @@ +/* + * 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'; + +/** + * Contains the DDoS protection settings of the public IP. + * + */ +class DdosSettings { + /** + * Create a DdosSettings. + * @property {object} [ddosCustomPolicy] The DDoS custom policy associated + * with the public IP. + * @property {string} [ddosCustomPolicy.id] Resource ID. + * @property {string} [protectionCoverage] The DDoS protection policy + * customizability of the public IP. Only standard coverage will have the + * ability to be customized. Possible values include: 'Basic', 'Standard' + */ + constructor() { + } + + /** + * Defines the metadata of DdosSettings + * + * @returns {object} metadata of DdosSettings + * + */ + mapper() { + return { + required: false, + serializedName: 'DdosSettings', + type: { + name: 'Composite', + className: 'DdosSettings', + modelProperties: { + ddosCustomPolicy: { + required: false, + serializedName: 'ddosCustomPolicy', + type: { + name: 'Composite', + className: 'SubResource' + } + }, + protectionCoverage: { + required: false, + serializedName: 'protectionCoverage', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = DdosSettings; diff --git a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js index 935a6e5dfe..a052ed647c 100644 --- a/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/frontendIPConfiguration.js @@ -223,6 +223,16 @@ class FrontendIPConfiguration extends models['SubResource'] { * resolves to this public IP address. If the reverseFqdn is specified, then * a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} [publicIPAddress.ddosSettings] The DDoS protection + * custom policy associated with the public IP address. + * @property {object} [publicIPAddress.ddosSettings.ddosCustomPolicy] The + * DDoS custom policy associated with the public IP. + * @property {string} [publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} [publicIPAddress.ddosSettings.protectionCoverage] The + * DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} [publicIPAddress.ipTags] The list of tags associated * with the public IP address. * @property {string} [publicIPAddress.ipAddress] The IP address associated diff --git a/lib/services/networkManagement2/lib/models/iPConfiguration.js b/lib/services/networkManagement2/lib/models/iPConfiguration.js index 8fb1f9cc92..bbf8ee6a45 100644 --- a/lib/services/networkManagement2/lib/models/iPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/iPConfiguration.js @@ -115,6 +115,16 @@ class IPConfiguration extends models['SubResource'] { * resolves to this public IP address. If the reverseFqdn is specified, then * a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} [publicIPAddress.ddosSettings] The DDoS protection + * custom policy associated with the public IP address. + * @property {object} [publicIPAddress.ddosSettings.ddosCustomPolicy] The + * DDoS custom policy associated with the public IP. + * @property {string} [publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} [publicIPAddress.ddosSettings.protectionCoverage] The + * DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} [publicIPAddress.ipTags] The list of tags associated * with the public IP address. * @property {string} [publicIPAddress.ipAddress] The IP address associated diff --git a/lib/services/networkManagement2/lib/models/inboundNatRule.js b/lib/services/networkManagement2/lib/models/inboundNatRule.js index 691ac8beac..2a2635f929 100644 --- a/lib/services/networkManagement2/lib/models/inboundNatRule.js +++ b/lib/services/networkManagement2/lib/models/inboundNatRule.js @@ -273,6 +273,19 @@ class InboundNatRule extends models['SubResource'] { * resolves to this public IP address. If the reverseFqdn is specified, then * a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} [backendIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * @property {object} + * [backendIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] The + * DDoS custom policy associated with the public IP. + * @property {string} + * [backendIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} + * [backendIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} [backendIPConfiguration.publicIPAddress.ipTags] The list * of tags associated with the public IP address. * @property {string} [backendIPConfiguration.publicIPAddress.ipAddress] The diff --git a/lib/services/networkManagement2/lib/models/index.d.ts b/lib/services/networkManagement2/lib/models/index.d.ts index 2ab52865a5..30b736b698 100644 --- a/lib/services/networkManagement2/lib/models/index.d.ts +++ b/lib/services/networkManagement2/lib/models/index.d.ts @@ -1,7667 +1,5021 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { BaseResource } from 'ms-rest-azure'; -import { CloudError } from 'ms-rest-azure'; -import * as moment from 'moment'; +import { BaseResource, CloudError } from "ms-rest-azure"; +import * as moment from "moment"; -export { BaseResource } from 'ms-rest-azure'; -export { CloudError } from 'ms-rest-azure'; +export { + BaseResource, + CloudError +}; /** - * @class - * Initializes a new instance of the SubResource class. - * @constructor * Reference to another subresource. - * - * @property {string} [id] Resource ID. */ export interface SubResource extends BaseResource { + /** + * Resource ID. + */ id?: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceTapConfiguration class. - * @constructor * Tap configuration in a Network Interface - * - * @property {object} [virtualNetworkTap] The reference of the Virtual Network - * Tap resource. - * @property {array} [virtualNetworkTap.networkInterfaceTapConfigurations] - * Specifies the list of resource IDs for the network interface IP - * configuration that needs to be tapped. - * @property {string} [virtualNetworkTap.resourceGuid] The resourceGuid - * property of the virtual network tap. - * @property {string} [virtualNetworkTap.provisioningState] The provisioning - * state of the virtual network tap. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration] The reference - * to the private IP Address of the collector nic that will receive the tap - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] - * The reference to Virtual Network Taps. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] - * The reference of ApplicationGatewayBackendAddressPool resource. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] - * The reference of LoadBalancerBackendAddressPool resource. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] - * A list of references of LoadBalancerInboundNatRules. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddress] - * Private IP address of the IP configuration. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] - * Defines how a private IP address is assigned. Possible values are: 'Static' - * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] - * Available from Api-Version 2016-03-30 onwards, it represents whether the - * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. - * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', - * 'IPv6' - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet] Subnet - * bound to the IP configuration. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable] - * The reference of the RouteTable resource. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.delegations] - * Gets an array of references to the delegations on the subnet. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.purpose] - * A read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.subnet.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {boolean} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.primary] Gets - * whether this is a primary customer address on the network interface. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress] - * Public IP address bound to the IP configuration. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku] - * The public IP address SKU. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku.name] - * Name of a public IP address SKU. Possible values include: 'Basic', - * 'Standard' - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAllocationMethod] - * The public IP allocation method. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] - * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. - * Possible values include: 'IPv4', 'IPv6' - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] - * The IP configuration associated with the public IP address. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] - * The private IP address of the IP configuration. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] - * The private IP allocation method. Possible values are 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] - * The reference of the subnet resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] - * The reference of the RouteTable resource. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] - * Gets an array of references to the delegations on the subnet. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] - * A read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] - * The reference of the public IP resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] - * Gets the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings] - * The FQDN of the DNS record associated with the public IP address. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] - * Gets or sets the Domain name label.The concatenation of the domain name - * label and the regionalized DNS zone make up the fully qualified domain name - * associated with the public IP address. If a domain name label is specified, - * an A DNS record is created for the public IP in the Microsoft Azure DNS - * system. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.fqdn] - * Gets the FQDN, Fully qualified domain name of the A DNS record associated - * with the public IP. This is the concatenation of the domainNameLabel and the - * regionalized DNS zone. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] - * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name - * that resolves to this public IP address. If the reverseFqdn is specified, - * then a PTR DNS record is created pointing from the IP address in the - * in-addr.arpa domain to the reverse FQDN. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] - * The list of tags associated with the public IP address. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipAddress] - * The IP address associated with the public IP address resource. - * @property {object} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix] - * The Public IP Prefix this Public IP Address should be allocated from. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix.id] - * Resource ID. - * @property {number} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.idleTimeoutInMinutes] - * The idle timeout of the public IP address. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.resourceGuid] - * The resource GUID property of the public IP resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.provisioningState] - * The provisioning state of the PublicIP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.zones] - * A list of availability zones denoting the IP allocated for the resource - * needs to come from. - * @property {array} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] - * Application security groups in which the IP configuration is included. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.provisioningState] - * The provisioning state of the network interface IP configuration. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.name] The name - * of the resource that is unique within a resource group. This name can be - * used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration] The - * reference to the private IP address on the internal Load Balancer that will - * receive the tap - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatRules] - * Read only. Inbound rules URIs that use this frontend IP. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.inboundNatPools] - * Read only. Inbound pools URIs that use this frontend IP. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.outboundRules] - * Read only. Outbound rules URIs that use this frontend IP. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.loadBalancingRules] - * Gets load balancing rules URIs that use this frontend IP. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] - * The private IP address of the IP configuration. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] - * The Private IP allocation method. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet] - * The reference of the subnet resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] - * The reference of the RouteTable resource. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] - * Gets an array of references to the delegations on the subnet. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.purpose] - * A read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] - * The reference of the Public IP resource. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] - * The public IP address SKU. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] - * Name of a public IP address SKU. Possible values include: 'Basic', - * 'Standard' - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] - * The public IP allocation method. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] - * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. - * Possible values include: 'IPv4', 'IPv6' - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration] - * The IP configuration associated with the public IP address. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] - * The private IP address of the IP configuration. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] - * The private IP allocation method. Possible values are 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet] - * The reference of the subnet resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] - * The reference of the RouteTable resource. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] - * Gets an array of references to the delegations on the subnet. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] - * A read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] - * The reference of the public IP resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] - * Gets the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] - * The FQDN of the DNS record associated with the public IP address. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] - * Gets or sets the Domain name label.The concatenation of the domain name - * label and the regionalized DNS zone make up the fully qualified domain name - * associated with the public IP address. If a domain name label is specified, - * an A DNS record is created for the public IP in the Microsoft Azure DNS - * system. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] - * Gets the FQDN, Fully qualified domain name of the A DNS record associated - * with the public IP. This is the concatenation of the domainNameLabel and the - * regionalized DNS zone. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] - * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name - * that resolves to this public IP address. If the reverseFqdn is specified, - * then a PTR DNS record is created pointing from the IP address in the - * in-addr.arpa domain to the reverse FQDN. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] - * The list of tags associated with the public IP address. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] - * The IP address associated with the public IP address resource. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] - * The Public IP Prefix this Public IP Address should be allocated from. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] - * Resource ID. - * @property {number} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] - * The idle timeout of the public IP address. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] - * The resource GUID property of the public IP resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] - * The provisioning state of the PublicIP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] - * A list of availability zones denoting the IP allocated for the resource - * needs to come from. - * @property {object} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] - * The reference of the Public IP Prefix resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] - * Resource ID. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.provisioningState] - * Gets the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.name] The - * name of the resource that is unique within a resource group. This name can - * be used to access the resource. - * @property {string} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {array} - * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.zones] A - * list of availability zones denoting the IP allocated for the resource needs - * to come from. - * @property {number} [virtualNetworkTap.destinationPort] The VXLAN destination - * port that will receive the tapped traffic. - * @property {string} [virtualNetworkTap.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @property {string} [provisioningState] The provisioning state of the network - * interface tap configuration. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Sub Resource type. */ export interface NetworkInterfaceTapConfiguration extends SubResource { + /** + * The reference of the Virtual Network Tap resource. + */ virtualNetworkTap?: VirtualNetworkTap; + /** + * The provisioning state of the network interface tap configuration. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Sub Resource type. + */ readonly type?: string; } /** - * @class - * Initializes a new instance of the Resource class. - * @constructor * Common resource representation. - * - * @property {string} [id] Resource ID. - * @property {string} [name] Resource name. - * @property {string} [type] Resource type. - * @property {string} [location] Resource location. - * @property {object} [tags] Resource tags. */ export interface Resource extends BaseResource { + /** + * Resource ID. + */ id?: string; + /** + * Resource name. + */ readonly name?: string; + /** + * Resource type. + */ readonly type?: string; + /** + * Resource location. + */ location?: string; + /** + * Resource tags. + */ tags?: { [propertyName: string]: string }; } /** - * @class - * Initializes a new instance of the ApplicationSecurityGroup class. - * @constructor * An application security group in a resource group. - * - * @property {string} [resourceGuid] The resource GUID property of the - * application security group resource. It uniquely identifies a resource, even - * if the user changes its name or migrate the resource across subscriptions or - * resource groups. - * @property {string} [provisioningState] The provisioning state of the - * application security group resource. Possible values are: 'Succeeded', - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface ApplicationSecurityGroup extends Resource { + /** + * The resource GUID property of the application security group resource. It uniquely identifies + * a resource, even if the user changes its name or migrate the resource across subscriptions or + * resource groups. + */ readonly resourceGuid?: string; + /** + * The provisioning state of the application security group resource. Possible values are: + * 'Succeeded', 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the SecurityRule class. - * @constructor * Network security rule. - * - * @property {string} [description] A description for this rule. Restricted to - * 140 chars. - * @property {string} protocol Network protocol this rule applies to. Possible - * values are 'Tcp', 'Udp', and '*'. Possible values include: 'Tcp', 'Udp', '*' - * @property {string} [sourcePortRange] The source port or range. Integer or - * range between 0 and 65535. Asterix '*' can also be used to match all ports. - * @property {string} [destinationPortRange] The destination port or range. - * Integer or range between 0 and 65535. Asterix '*' can also be used to match - * all ports. - * @property {string} [sourceAddressPrefix] The CIDR or source IP range. - * Asterix '*' can also be used to match all source IPs. Default tags such as - * 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If - * this is an ingress rule, specifies where network traffic originates from. - * @property {array} [sourceAddressPrefixes] The CIDR or source IP ranges. - * @property {array} [sourceApplicationSecurityGroups] The application security - * group specified as source. - * @property {string} [destinationAddressPrefix] The destination address - * prefix. CIDR or destination IP range. Asterix '*' can also be used to match - * all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' - * and 'Internet' can also be used. - * @property {array} [destinationAddressPrefixes] The destination address - * prefixes. CIDR or destination IP ranges. - * @property {array} [destinationApplicationSecurityGroups] The application - * security group specified as destination. - * @property {array} [sourcePortRanges] The source port ranges. - * @property {array} [destinationPortRanges] The destination port ranges. - * @property {string} access The network traffic is allowed or denied. Possible - * values are: 'Allow' and 'Deny'. Possible values include: 'Allow', 'Deny' - * @property {number} [priority] The priority of the rule. The value can be - * between 100 and 4096. The priority number must be unique for each rule in - * the collection. The lower the priority number, the higher the priority of - * the rule. - * @property {string} direction The direction of the rule. The direction - * specifies if rule will be evaluated on incoming or outcoming traffic. - * Possible values are: 'Inbound' and 'Outbound'. Possible values include: - * 'Inbound', 'Outbound' - * @property {string} [provisioningState] The provisioning state of the public - * IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface SecurityRule extends SubResource { + /** + * A description for this rule. Restricted to 140 chars. + */ description?: string; + /** + * Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'. Possible + * values include: 'Tcp', 'Udp', '*' + */ protocol: string; + /** + * The source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used + * to match all ports. + */ sourcePortRange?: string; + /** + * The destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be + * used to match all ports. + */ destinationPortRange?: string; + /** + * The CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default + * tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is + * an ingress rule, specifies where network traffic originates from. + */ sourceAddressPrefix?: string; + /** + * The CIDR or source IP ranges. + */ sourceAddressPrefixes?: string[]; + /** + * The application security group specified as source. + */ sourceApplicationSecurityGroups?: ApplicationSecurityGroup[]; + /** + * The destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to + * match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + * 'Internet' can also be used. + */ destinationAddressPrefix?: string; + /** + * The destination address prefixes. CIDR or destination IP ranges. + */ destinationAddressPrefixes?: string[]; + /** + * The application security group specified as destination. + */ destinationApplicationSecurityGroups?: ApplicationSecurityGroup[]; + /** + * The source port ranges. + */ sourcePortRanges?: string[]; + /** + * The destination port ranges. + */ destinationPortRanges?: string[]; + /** + * The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'. Possible + * values include: 'Allow', 'Deny' + */ access: string; + /** + * The priority of the rule. The value can be between 100 and 4096. The priority number must be + * unique for each rule in the collection. The lower the priority number, the higher the priority + * of the rule. + */ priority?: number; + /** + * The direction of the rule. The direction specifies if rule will be evaluated on incoming or + * outcoming traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values include: + * 'Inbound', 'Outbound' + */ direction: string; + /** + * The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the EndpointService class. - * @constructor * Identifies the service being brought into the virtual network. - * - * @property {string} [id] A unique identifier of the service being referenced - * by the interface endpoint. */ export interface EndpointService { + /** + * A unique identifier of the service being referenced by the interface endpoint. + */ id?: string; } /** - * @class - * Initializes a new instance of the InterfaceEndpoint class. - * @constructor * Interface endpoint resource. - * - * @property {string} [fqdn] A first-party service's FQDN that is mapped to the - * private IP allocated via this interface endpoint. - * @property {object} [endpointService] A reference to the service being - * brought into the virtual network. - * @property {string} [endpointService.id] A unique identifier of the service - * being referenced by the interface endpoint. - * @property {object} [subnet] The ID of the subnet from which the private IP - * will be allocated. - * @property {string} [subnet.addressPrefix] The address prefix for the subnet. - * @property {array} [subnet.addressPrefixes] List of address prefixes for the - * subnet. - * @property {object} [subnet.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @property {array} [subnet.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. - * @property {array} [subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} [subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @property {array} [subnet.networkSecurityGroup.subnets] A collection of - * references to subnets. - * @property {string} [subnet.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * @property {string} [subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [subnet.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {object} [subnet.routeTable] The reference of the RouteTable - * resource. - * @property {array} [subnet.routeTable.routes] Collection of routes contained - * within a route table. - * @property {array} [subnet.routeTable.subnets] A collection of references to - * subnets. - * @property {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @property {string} [subnet.routeTable.provisioningState] The provisioning - * state of the resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [subnet.routeTable.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @property {array} [subnet.serviceEndpoints] An array of service endpoints. - * @property {array} [subnet.serviceEndpointPolicies] An array of service - * endpoint policies. - * @property {array} [subnet.interfaceEndpoints] An array of references to - * interface endpoints - * @property {array} [subnet.ipConfigurations] Gets an array of references to - * the network interface IP configurations using subnet. - * @property {array} [subnet.ipConfigurationProfiles] Array of IP configuration - * profiles which reference this subnet. - * @property {array} [subnet.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * @property {array} [subnet.serviceAssociationLinks] Gets an array of - * references to services injecting into this subnet. - * @property {array} [subnet.delegations] Gets an array of references to the - * delegations on the subnet. - * @property {string} [subnet.purpose] A read-only string identifying the - * intention of use for this subnet based on delegations and other user-defined - * properties. - * @property {string} [subnet.provisioningState] The provisioning state of the - * resource. - * @property {string} [subnet.name] The name of the resource that is unique - * within a resource group. This name can be used to access the resource. - * @property {string} [subnet.etag] A unique read-only string that changes - * whenever the resource is updated. - * @property {array} [networkInterfaces] Gets an array of references to the - * network interfaces created for this interface endpoint. - * @property {string} [owner] A read-only property that identifies who created - * this interface endpoint. - * @property {string} [provisioningState] The provisioning state of the - * interface endpoint. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. */ export interface InterfaceEndpoint extends Resource { + /** + * A first-party service's FQDN that is mapped to the private IP allocated via this interface + * endpoint. + */ fqdn?: string; + /** + * A reference to the service being brought into the virtual network. + */ endpointService?: EndpointService; + /** + * The ID of the subnet from which the private IP will be allocated. + */ subnet?: Subnet; + /** + * Gets an array of references to the network interfaces created for this interface endpoint. + */ readonly networkInterfaces?: NetworkInterface[]; + /** + * A read-only property that identifies who created this interface endpoint. + */ readonly owner?: string; + /** + * The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ readonly provisioningState?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceDnsSettings class. - * @constructor * DNS settings of a network interface. - * - * @property {array} [dnsServers] List of DNS servers IP addresses. Use - * 'AzureProvidedDNS' to switch to azure provided DNS resolution. - * 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - * only value in dnsServers collection. - * @property {array} [appliedDnsServers] If the VM that uses this NIC is part - * of an Availability Set, then this list will have the union of all DNS - * servers from all NICs that are part of the Availability Set. This property - * is what is configured on each of those VMs. - * @property {string} [internalDnsNameLabel] Relative DNS name for this NIC - * used for internal communications between VMs in the same virtual network. - * @property {string} [internalFqdn] Fully qualified DNS name supporting - * internal communications between VMs in the same virtual network. - * @property {string} [internalDomainNameSuffix] Even if internalDnsNameLabel - * is not specified, a DNS entry is created for the primary NIC of the VM. This - * DNS name can be constructed by concatenating the VM name with the value of - * internalDomainNameSuffix. */ export interface NetworkInterfaceDnsSettings { + /** + * List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS + * resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only + * value in dnsServers collection. + */ dnsServers?: string[]; + /** + * If the VM that uses this NIC is part of an Availability Set, then this list will have the + * union of all DNS servers from all NICs that are part of the Availability Set. This property is + * what is configured on each of those VMs. + */ appliedDnsServers?: string[]; + /** + * Relative DNS name for this NIC used for internal communications between VMs in the same + * virtual network. + */ internalDnsNameLabel?: string; + /** + * Fully qualified DNS name supporting internal communications between VMs in the same virtual + * network. + */ internalFqdn?: string; + /** + * Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of + * the VM. This DNS name can be constructed by concatenating the VM name with the value of + * internalDomainNameSuffix. + */ internalDomainNameSuffix?: string; } /** - * @class - * Initializes a new instance of the NetworkInterface class. - * @constructor * A network interface in a resource group. - * - * @property {object} [virtualMachine] The reference of a virtual machine. - * @property {string} [virtualMachine.id] Resource ID. - * @property {object} [networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @property {array} [networkSecurityGroup.securityRules] A collection of - * security rules of the network security group. - * @property {array} [networkSecurityGroup.defaultSecurityRules] The default - * security rules of network security group. - * @property {array} [networkSecurityGroup.networkInterfaces] A collection of - * references to network interfaces. - * @property {array} [networkSecurityGroup.subnets] A collection of references - * to subnets. - * @property {string} [networkSecurityGroup.resourceGuid] The resource GUID - * property of the network security group resource. - * @property {string} [networkSecurityGroup.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [networkSecurityGroup.etag] A unique read-only string - * that changes whenever the resource is updated. - * @property {object} [interfaceEndpoint] A reference to the interface endpoint - * to which the network interface is linked. - * @property {string} [interfaceEndpoint.fqdn] A first-party service's FQDN - * that is mapped to the private IP allocated via this interface endpoint. - * @property {object} [interfaceEndpoint.endpointService] A reference to the - * service being brought into the virtual network. - * @property {string} [interfaceEndpoint.endpointService.id] A unique - * identifier of the service being referenced by the interface endpoint. - * @property {object} [interfaceEndpoint.subnet] The ID of the subnet from - * which the private IP will be allocated. - * @property {string} [interfaceEndpoint.subnet.addressPrefix] The address - * prefix for the subnet. - * @property {array} [interfaceEndpoint.subnet.addressPrefixes] List of - * address prefixes for the subnet. - * @property {object} [interfaceEndpoint.subnet.networkSecurityGroup] The - * reference of the NetworkSecurityGroup resource. - * @property {array} - * [interfaceEndpoint.subnet.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. - * @property {array} - * [interfaceEndpoint.subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} - * [interfaceEndpoint.subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @property {array} [interfaceEndpoint.subnet.networkSecurityGroup.subnets] A - * collection of references to subnets. - * @property {string} - * [interfaceEndpoint.subnet.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * @property {string} - * [interfaceEndpoint.subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [interfaceEndpoint.subnet.networkSecurityGroup.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {object} [interfaceEndpoint.subnet.routeTable] The reference of - * the RouteTable resource. - * @property {array} [interfaceEndpoint.subnet.routeTable.routes] Collection of - * routes contained within a route table. - * @property {array} [interfaceEndpoint.subnet.routeTable.subnets] A collection - * of references to subnets. - * @property {boolean} - * [interfaceEndpoint.subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @property {string} [interfaceEndpoint.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [interfaceEndpoint.subnet.routeTable.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * @property {array} [interfaceEndpoint.subnet.serviceEndpoints] An array of - * service endpoints. - * @property {array} [interfaceEndpoint.subnet.serviceEndpointPolicies] An - * array of service endpoint policies. - * @property {array} [interfaceEndpoint.subnet.interfaceEndpoints] An array of - * references to interface endpoints - * @property {array} [interfaceEndpoint.subnet.ipConfigurations] Gets an array - * of references to the network interface IP configurations using subnet. - * @property {array} [interfaceEndpoint.subnet.ipConfigurationProfiles] Array - * of IP configuration profiles which reference this subnet. - * @property {array} [interfaceEndpoint.subnet.resourceNavigationLinks] Gets an - * array of references to the external resources using subnet. - * @property {array} [interfaceEndpoint.subnet.serviceAssociationLinks] Gets an - * array of references to services injecting into this subnet. - * @property {array} [interfaceEndpoint.subnet.delegations] Gets an array of - * references to the delegations on the subnet. - * @property {string} [interfaceEndpoint.subnet.purpose] A read-only string - * identifying the intention of use for this subnet based on delegations and - * other user-defined properties. - * @property {string} [interfaceEndpoint.subnet.provisioningState] The - * provisioning state of the resource. - * @property {string} [interfaceEndpoint.subnet.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. - * @property {string} [interfaceEndpoint.subnet.etag] A unique read-only string - * that changes whenever the resource is updated. - * @property {array} [interfaceEndpoint.networkInterfaces] Gets an array of - * references to the network interfaces created for this interface endpoint. - * @property {string} [interfaceEndpoint.owner] A read-only property that - * identifies who created this interface endpoint. - * @property {string} [interfaceEndpoint.provisioningState] The provisioning - * state of the interface endpoint. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [interfaceEndpoint.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @property {array} [ipConfigurations] A list of IPConfigurations of the - * network interface. - * @property {array} [tapConfigurations] A list of TapConfigurations of the - * network interface. - * @property {object} [dnsSettings] The DNS settings in network interface. - * @property {array} [dnsSettings.dnsServers] List of DNS servers IP addresses. - * Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. - * 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the - * only value in dnsServers collection. - * @property {array} [dnsSettings.appliedDnsServers] If the VM that uses this - * NIC is part of an Availability Set, then this list will have the union of - * all DNS servers from all NICs that are part of the Availability Set. This - * property is what is configured on each of those VMs. - * @property {string} [dnsSettings.internalDnsNameLabel] Relative DNS name for - * this NIC used for internal communications between VMs in the same virtual - * network. - * @property {string} [dnsSettings.internalFqdn] Fully qualified DNS name - * supporting internal communications between VMs in the same virtual network. - * @property {string} [dnsSettings.internalDomainNameSuffix] Even if - * internalDnsNameLabel is not specified, a DNS entry is created for the - * primary NIC of the VM. This DNS name can be constructed by concatenating the - * VM name with the value of internalDomainNameSuffix. - * @property {string} [macAddress] The MAC address of the network interface. - * @property {boolean} [primary] Gets whether this is a primary network - * interface on a virtual machine. - * @property {boolean} [enableAcceleratedNetworking] If the network interface - * is accelerated networking enabled. - * @property {boolean} [enableIPForwarding] Indicates whether IP forwarding is - * enabled on this network interface. - * @property {array} [hostedWorkloads] A list of references to linked BareMetal - * resources - * @property {string} [resourceGuid] The resource GUID property of the network - * interface resource. - * @property {string} [provisioningState] The provisioning state of the public - * IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface NetworkInterface extends Resource { + /** + * The reference of a virtual machine. + */ readonly virtualMachine?: SubResource; + /** + * The reference of the NetworkSecurityGroup resource. + */ networkSecurityGroup?: NetworkSecurityGroup; + /** + * A reference to the interface endpoint to which the network interface is linked. + */ readonly interfaceEndpoint?: InterfaceEndpoint; + /** + * A list of IPConfigurations of the network interface. + */ ipConfigurations?: NetworkInterfaceIPConfiguration[]; + /** + * A list of TapConfigurations of the network interface. + */ tapConfigurations?: NetworkInterfaceTapConfiguration[]; + /** + * The DNS settings in network interface. + */ dnsSettings?: NetworkInterfaceDnsSettings; + /** + * The MAC address of the network interface. + */ macAddress?: string; + /** + * Gets whether this is a primary network interface on a virtual machine. + */ primary?: boolean; + /** + * If the network interface is accelerated networking enabled. + */ enableAcceleratedNetworking?: boolean; + /** + * Indicates whether IP forwarding is enabled on this network interface. + */ enableIPForwarding?: boolean; + /** + * A list of references to linked BareMetal resources + */ readonly hostedWorkloads?: string[]; + /** + * The resource GUID property of the network interface resource. + */ resourceGuid?: string; + /** + * The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the NetworkSecurityGroup class. - * @constructor * NetworkSecurityGroup resource. - * - * @property {array} [securityRules] A collection of security rules of the - * network security group. - * @property {array} [defaultSecurityRules] The default security rules of - * network security group. - * @property {array} [networkInterfaces] A collection of references to network - * interfaces. - * @property {array} [subnets] A collection of references to subnets. - * @property {string} [resourceGuid] The resource GUID property of the network - * security group resource. - * @property {string} [provisioningState] The provisioning state of the public - * IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface NetworkSecurityGroup extends Resource { + /** + * A collection of security rules of the network security group. + */ securityRules?: SecurityRule[]; + /** + * The default security rules of network security group. + */ defaultSecurityRules?: SecurityRule[]; + /** + * A collection of references to network interfaces. + */ readonly networkInterfaces?: NetworkInterface[]; + /** + * A collection of references to subnets. + */ readonly subnets?: Subnet[]; + /** + * The resource GUID property of the network security group resource. + */ resourceGuid?: string; + /** + * The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the Route class. - * @constructor * Route resource - * - * @property {string} [addressPrefix] The destination CIDR to which the route - * applies. - * @property {string} 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' - * @property {string} [nextHopIpAddress] The IP address packets should be - * forwarded to. Next hop values are only allowed in routes where the next hop - * type is VirtualAppliance. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface Route extends SubResource { + /** + * The destination CIDR to which the route applies. + */ addressPrefix?: string; + /** + * 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' + */ nextHopType: string; + /** + * The IP address packets should be forwarded to. Next hop values are only allowed in routes + * where the next hop type is VirtualAppliance. + */ nextHopIpAddress?: string; + /** + * The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the RouteTable class. - * @constructor * Route table resource. - * - * @property {array} [routes] Collection of routes contained within a route - * table. - * @property {array} [subnets] A collection of references to subnets. - * @property {boolean} [disableBgpRoutePropagation] Gets or sets whether to - * disable the routes learned by BGP on that route table. True means disable. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. */ export interface RouteTable extends Resource { + /** + * Collection of routes contained within a route table. + */ routes?: Route[]; + /** + * A collection of references to subnets. + */ readonly subnets?: Subnet[]; + /** + * Gets or sets whether to disable the routes learned by BGP on that route table. True means + * disable. + */ disableBgpRoutePropagation?: boolean; + /** + * The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + */ provisioningState?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ServiceEndpointPropertiesFormat class. - * @constructor * The service endpoint properties. - * - * @property {string} [service] The type of the endpoint service. - * @property {array} [locations] A list of locations. - * @property {string} [provisioningState] The provisioning state of the - * resource. */ export interface ServiceEndpointPropertiesFormat { + /** + * The type of the endpoint service. + */ service?: string; + /** + * A list of locations. + */ locations?: string[]; + /** + * The provisioning state of the resource. + */ provisioningState?: string; } /** - * @class - * Initializes a new instance of the ServiceEndpointPolicyDefinition class. - * @constructor * Service Endpoint policy definitions. - * - * @property {string} [description] A description for this rule. Restricted to - * 140 chars. - * @property {string} [service] service endpoint name. - * @property {array} [serviceResources] A list of service resources. - * @property {string} [provisioningState] The provisioning state of the service - * end point policy definition. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface ServiceEndpointPolicyDefinition extends SubResource { + /** + * A description for this rule. Restricted to 140 chars. + */ description?: string; + /** + * service endpoint name. + */ service?: string; + /** + * A list of service resources. + */ serviceResources?: string[]; + /** + * The provisioning state of the service end point policy definition. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ServiceEndpointPolicy class. - * @constructor * Service End point policy resource. - * - * @property {array} [serviceEndpointPolicyDefinitions] A collection of service - * endpoint policy definitions of the service endpoint policy. - * @property {array} [subnets] A collection of references to subnets. - * @property {string} [resourceGuid] The resource GUID property of the service - * endpoint policy resource. - * @property {string} [provisioningState] The provisioning state of the service - * endpoint policy. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface ServiceEndpointPolicy extends Resource { + /** + * A collection of service endpoint policy definitions of the service endpoint policy. + */ serviceEndpointPolicyDefinitions?: ServiceEndpointPolicyDefinition[]; + /** + * A collection of references to subnets. + */ readonly subnets?: Subnet[]; + /** + * The resource GUID property of the service endpoint policy resource. + */ readonly resourceGuid?: string; + /** + * The provisioning state of the service endpoint policy. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the PublicIPAddressSku class. - * @constructor * SKU of a public IP address - * - * @property {string} [name] Name of a public IP address SKU. Possible values - * include: 'Basic', 'Standard' */ export interface PublicIPAddressSku { + /** + * Name of a public IP address SKU. Possible values include: 'Basic', 'Standard' + */ name?: string; } /** - * @class - * Initializes a new instance of the PublicIPAddressDnsSettings class. - * @constructor * Contains FQDN of the DNS record associated with the public IP address - * - * @property {string} [domainNameLabel] Gets or sets the Domain name label.The - * concatenation of the domain name label and the regionalized DNS zone make up - * the fully qualified domain name associated with the public IP address. If a - * domain name label is specified, an A DNS record is created for the public IP - * in the Microsoft Azure DNS system. - * @property {string} [fqdn] Gets the FQDN, Fully qualified domain name of the - * A DNS record associated with the public IP. This is the concatenation of the - * domainNameLabel and the regionalized DNS zone. - * @property {string} [reverseFqdn] Gets or Sets the Reverse FQDN. A - * user-visible, fully qualified domain name that resolves to this public IP - * address. If the reverseFqdn is specified, then a PTR DNS record is created - * pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. */ export interface PublicIPAddressDnsSettings { + /** + * Gets or sets the Domain name label.The concatenation of the domain name label and the + * regionalized DNS zone make up the fully qualified domain name associated with the public IP + * address. If a domain name label is specified, an A DNS record is created for the public IP in + * the Microsoft Azure DNS system. + */ domainNameLabel?: string; + /** + * Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. + * This is the concatenation of the domainNameLabel and the regionalized DNS zone. + */ fqdn?: string; + /** + * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to + * this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created + * pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. + */ reverseFqdn?: string; } /** - * @class - * Initializes a new instance of the IpTag class. - * @constructor + * Contains the DDoS protection settings of the public IP. + */ +export interface DdosSettings { + /** + * The DDoS custom policy associated with the public IP. + */ + ddosCustomPolicy?: SubResource; + /** + * The DDoS protection policy customizability of the public IP. Only standard coverage will have + * the ability to be customized. Possible values include: 'Basic', 'Standard' + */ + protectionCoverage?: string; +} + +/** * Contains the IpTag associated with the object - * - * @property {string} [ipTagType] Gets or sets the ipTag type: Example - * FirstPartyUsage. - * @property {string} [tag] Gets or sets value of the IpTag associated with the - * public IP. Example SQL, Storage etc */ export interface IpTag { + /** + * Gets or sets the ipTag type: Example FirstPartyUsage. + */ ipTagType?: string; + /** + * Gets or sets value of the IpTag associated with the public IP. Example SQL, Storage etc + */ tag?: string; } /** - * @class - * Initializes a new instance of the PublicIPAddress class. - * @constructor * Public IP address resource. - * - * @property {object} [sku] The public IP address SKU. - * @property {string} [sku.name] Name of a public IP address SKU. Possible - * values include: 'Basic', 'Standard' - * @property {string} [publicIPAllocationMethod] The public IP allocation - * method. Possible values are: 'Static' and 'Dynamic'. Possible values - * include: 'Static', 'Dynamic' - * @property {string} [publicIPAddressVersion] The public IP address version. - * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', - * 'IPv6' - * @property {object} [ipConfiguration] The IP configuration associated with - * the public IP address. - * @property {string} [ipConfiguration.privateIPAddress] The private IP address - * of the IP configuration. - * @property {string} [ipConfiguration.privateIPAllocationMethod] The private - * IP allocation method. Possible values are 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {object} [ipConfiguration.subnet] The reference of the subnet - * resource. - * @property {string} [ipConfiguration.subnet.addressPrefix] The address prefix - * for the subnet. - * @property {array} [ipConfiguration.subnet.addressPrefixes] List of address - * prefixes for the subnet. - * @property {object} [ipConfiguration.subnet.networkSecurityGroup] The - * reference of the NetworkSecurityGroup resource. - * @property {array} - * [ipConfiguration.subnet.networkSecurityGroup.securityRules] A collection of - * security rules of the network security group. - * @property {array} - * [ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} - * [ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] A collection - * of references to network interfaces. - * @property {array} [ipConfiguration.subnet.networkSecurityGroup.subnets] A - * collection of references to subnets. - * @property {string} - * [ipConfiguration.subnet.networkSecurityGroup.resourceGuid] The resource GUID - * property of the network security group resource. - * @property {string} - * [ipConfiguration.subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.subnet.networkSecurityGroup.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {object} [ipConfiguration.subnet.routeTable] The reference of the - * RouteTable resource. - * @property {array} [ipConfiguration.subnet.routeTable.routes] Collection of - * routes contained within a route table. - * @property {array} [ipConfiguration.subnet.routeTable.subnets] A collection - * of references to subnets. - * @property {boolean} - * [ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * @property {string} [ipConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.subnet.routeTable.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * @property {array} [ipConfiguration.subnet.serviceEndpoints] An array of - * service endpoints. - * @property {array} [ipConfiguration.subnet.serviceEndpointPolicies] An array - * of service endpoint policies. - * @property {array} [ipConfiguration.subnet.interfaceEndpoints] An array of - * references to interface endpoints - * @property {array} [ipConfiguration.subnet.ipConfigurations] Gets an array of - * references to the network interface IP configurations using subnet. - * @property {array} [ipConfiguration.subnet.ipConfigurationProfiles] Array of - * IP configuration profiles which reference this subnet. - * @property {array} [ipConfiguration.subnet.resourceNavigationLinks] Gets an - * array of references to the external resources using subnet. - * @property {array} [ipConfiguration.subnet.serviceAssociationLinks] Gets an - * array of references to services injecting into this subnet. - * @property {array} [ipConfiguration.subnet.delegations] Gets an array of - * references to the delegations on the subnet. - * @property {string} [ipConfiguration.subnet.purpose] A read-only string - * identifying the intention of use for this subnet based on delegations and - * other user-defined properties. - * @property {string} [ipConfiguration.subnet.provisioningState] The - * provisioning state of the resource. - * @property {string} [ipConfiguration.subnet.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. - * @property {string} [ipConfiguration.subnet.etag] A unique read-only string - * that changes whenever the resource is updated. - * @property {object} [ipConfiguration.publicIPAddress] The reference of the - * public IP resource. - * @property {string} [ipConfiguration.provisioningState] Gets the provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * @property {string} [ipConfiguration.etag] A unique read-only string that - * changes whenever the resource is updated. - * @property {object} [dnsSettings] The FQDN of the DNS record associated with - * the public IP address. - * @property {string} [dnsSettings.domainNameLabel] Gets or sets the Domain - * name label.The concatenation of the domain name label and the regionalized - * DNS zone make up the fully qualified domain name associated with the public - * IP address. If a domain name label is specified, an A DNS record is created - * for the public IP in the Microsoft Azure DNS system. - * @property {string} [dnsSettings.fqdn] Gets the FQDN, Fully qualified domain - * name of the A DNS record associated with the public IP. This is the - * concatenation of the domainNameLabel and the regionalized DNS zone. - * @property {string} [dnsSettings.reverseFqdn] Gets or Sets the Reverse FQDN. - * A user-visible, fully qualified domain name that resolves to this public IP - * address. If the reverseFqdn is specified, then a PTR DNS record is created - * pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. - * @property {array} [ipTags] The list of tags associated with the public IP - * address. - * @property {string} [ipAddress] The IP address associated with the public IP - * address resource. - * @property {object} [publicIPPrefix] The Public IP Prefix this Public IP - * Address should be allocated from. - * @property {string} [publicIPPrefix.id] Resource ID. - * @property {number} [idleTimeoutInMinutes] The idle timeout of the public IP - * address. - * @property {string} [resourceGuid] The resource GUID property of the public - * IP resource. - * @property {string} [provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {array} [zones] A list of availability zones denoting the IP - * allocated for the resource needs to come from. */ export interface PublicIPAddress extends Resource { + /** + * The public IP address SKU. + */ sku?: PublicIPAddressSku; + /** + * The public IP allocation method. Possible values are: 'Static' and 'Dynamic'. Possible values + * include: 'Static', 'Dynamic' + */ publicIPAllocationMethod?: string; + /** + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible values + * include: 'IPv4', 'IPv6' + */ publicIPAddressVersion?: string; + /** + * The IP configuration associated with the public IP address. + */ readonly ipConfiguration?: IPConfiguration; + /** + * The FQDN of the DNS record associated with the public IP address. + */ dnsSettings?: PublicIPAddressDnsSettings; + /** + * The DDoS protection custom policy associated with the public IP address. + */ + ddosSettings?: DdosSettings; + /** + * The list of tags associated with the public IP address. + */ ipTags?: IpTag[]; + /** + * The IP address associated with the public IP address resource. + */ ipAddress?: string; + /** + * The Public IP Prefix this Public IP Address should be allocated from. + */ publicIPPrefix?: SubResource; + /** + * The idle timeout of the public IP address. + */ idleTimeoutInMinutes?: number; + /** + * The resource GUID property of the public IP resource. + */ resourceGuid?: string; + /** + * The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * A list of availability zones denoting the IP allocated for the resource needs to come from. + */ zones?: string[]; } /** - * @class - * Initializes a new instance of the IPConfiguration class. - * @constructor * IP configuration - * - * @property {string} [privateIPAddress] The private IP address of the IP - * configuration. - * @property {string} [privateIPAllocationMethod] The private IP allocation - * method. Possible values are 'Static' and 'Dynamic'. Possible values include: - * 'Static', 'Dynamic' - * @property {object} [subnet] The reference of the subnet resource. - * @property {string} [subnet.addressPrefix] The address prefix for the subnet. - * @property {array} [subnet.addressPrefixes] List of address prefixes for the - * subnet. - * @property {object} [subnet.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @property {array} [subnet.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. - * @property {array} [subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} [subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @property {array} [subnet.networkSecurityGroup.subnets] A collection of - * references to subnets. - * @property {string} [subnet.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * @property {string} [subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [subnet.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {object} [subnet.routeTable] The reference of the RouteTable - * resource. - * @property {array} [subnet.routeTable.routes] Collection of routes contained - * within a route table. - * @property {array} [subnet.routeTable.subnets] A collection of references to - * subnets. - * @property {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @property {string} [subnet.routeTable.provisioningState] The provisioning - * state of the resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [subnet.routeTable.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @property {array} [subnet.serviceEndpoints] An array of service endpoints. - * @property {array} [subnet.serviceEndpointPolicies] An array of service - * endpoint policies. - * @property {array} [subnet.interfaceEndpoints] An array of references to - * interface endpoints - * @property {array} [subnet.ipConfigurations] Gets an array of references to - * the network interface IP configurations using subnet. - * @property {array} [subnet.ipConfigurationProfiles] Array of IP configuration - * profiles which reference this subnet. - * @property {array} [subnet.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * @property {array} [subnet.serviceAssociationLinks] Gets an array of - * references to services injecting into this subnet. - * @property {array} [subnet.delegations] Gets an array of references to the - * delegations on the subnet. - * @property {string} [subnet.purpose] A read-only string identifying the - * intention of use for this subnet based on delegations and other user-defined - * properties. - * @property {string} [subnet.provisioningState] The provisioning state of the - * resource. - * @property {string} [subnet.name] The name of the resource that is unique - * within a resource group. This name can be used to access the resource. - * @property {string} [subnet.etag] A unique read-only string that changes - * whenever the resource is updated. - * @property {object} [publicIPAddress] The reference of the public IP - * resource. - * @property {object} [publicIPAddress.sku] The public IP address SKU. - * @property {string} [publicIPAddress.sku.name] Name of a public IP address - * SKU. Possible values include: 'Basic', 'Standard' - * @property {string} [publicIPAddress.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {string} [publicIPAddress.publicIPAddressVersion] The public IP - * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @property {object} [publicIPAddress.ipConfiguration] The IP configuration - * associated with the public IP address. - * @property {object} [publicIPAddress.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. - * @property {string} [publicIPAddress.dnsSettings.domainNameLabel] Gets or - * sets the Domain name label.The concatenation of the domain name label and - * the regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @property {string} [publicIPAddress.dnsSettings.fqdn] Gets the FQDN, Fully - * qualified domain name of the A DNS record associated with the public IP. - * This is the concatenation of the domainNameLabel and the regionalized DNS - * zone. - * @property {string} [publicIPAddress.dnsSettings.reverseFqdn] Gets or Sets - * the Reverse FQDN. A user-visible, fully qualified domain name that resolves - * to this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. - * @property {array} [publicIPAddress.ipTags] The list of tags associated with - * the public IP address. - * @property {string} [publicIPAddress.ipAddress] The IP address associated - * with the public IP address resource. - * @property {object} [publicIPAddress.publicIPPrefix] The Public IP Prefix - * this Public IP Address should be allocated from. - * @property {string} [publicIPAddress.publicIPPrefix.id] Resource ID. - * @property {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout - * of the public IP address. - * @property {string} [publicIPAddress.resourceGuid] The resource GUID property - * of the public IP resource. - * @property {string} [publicIPAddress.provisioningState] The provisioning - * state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [publicIPAddress.etag] A unique read-only string that - * changes whenever the resource is updated. - * @property {array} [publicIPAddress.zones] A list of availability zones - * denoting the IP allocated for the resource needs to come from. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface IPConfiguration extends SubResource { + /** + * The private IP address of the IP configuration. + */ privateIPAddress?: string; + /** + * The private IP allocation method. Possible values are 'Static' and 'Dynamic'. Possible values + * include: 'Static', 'Dynamic' + */ privateIPAllocationMethod?: string; + /** + * The reference of the subnet resource. + */ subnet?: Subnet; + /** + * The reference of the public IP resource. + */ publicIPAddress?: PublicIPAddress; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the IPConfigurationProfile class. - * @constructor * IP configuration profile child resource. - * - * @property {object} [subnet] The reference of the subnet resource to create a - * contatainer network interface ip configruation. - * @property {string} [subnet.addressPrefix] The address prefix for the subnet. - * @property {array} [subnet.addressPrefixes] List of address prefixes for the - * subnet. - * @property {object} [subnet.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @property {array} [subnet.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. - * @property {array} [subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} [subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @property {array} [subnet.networkSecurityGroup.subnets] A collection of - * references to subnets. - * @property {string} [subnet.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * @property {string} [subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [subnet.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {object} [subnet.routeTable] The reference of the RouteTable - * resource. - * @property {array} [subnet.routeTable.routes] Collection of routes contained - * within a route table. - * @property {array} [subnet.routeTable.subnets] A collection of references to - * subnets. - * @property {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @property {string} [subnet.routeTable.provisioningState] The provisioning - * state of the resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [subnet.routeTable.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @property {array} [subnet.serviceEndpoints] An array of service endpoints. - * @property {array} [subnet.serviceEndpointPolicies] An array of service - * endpoint policies. - * @property {array} [subnet.interfaceEndpoints] An array of references to - * interface endpoints - * @property {array} [subnet.ipConfigurations] Gets an array of references to - * the network interface IP configurations using subnet. - * @property {array} [subnet.ipConfigurationProfiles] Array of IP configuration - * profiles which reference this subnet. - * @property {array} [subnet.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * @property {array} [subnet.serviceAssociationLinks] Gets an array of - * references to services injecting into this subnet. - * @property {array} [subnet.delegations] Gets an array of references to the - * delegations on the subnet. - * @property {string} [subnet.purpose] A read-only string identifying the - * intention of use for this subnet based on delegations and other user-defined - * properties. - * @property {string} [subnet.provisioningState] The provisioning state of the - * resource. - * @property {string} [subnet.name] The name of the resource that is unique - * within a resource group. This name can be used to access the resource. - * @property {string} [subnet.etag] A unique read-only string that changes - * whenever the resource is updated. - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [name] The name of the resource. This name can be used to - * access the resource. - * @property {string} [type] Sub Resource type. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface IPConfigurationProfile extends SubResource { + /** + * The reference of the subnet resource to create a contatainer network interface ip + * configruation. + */ subnet?: Subnet; + /** + * The provisioning state of the resource. + */ readonly provisioningState?: string; + /** + * The name of the resource. This name can be used to access the resource. + */ name?: string; + /** + * Sub Resource type. + */ readonly type?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ResourceNavigationLink class. - * @constructor * ResourceNavigationLink resource. - * - * @property {string} [linkedResourceType] Resource type of the linked - * resource. - * @property {string} [link] Link to the external resource - * @property {string} [provisioningState] Provisioning state of the - * ResourceNavigationLink resource. - * @property {string} [name] Name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface ResourceNavigationLink extends SubResource { + /** + * Resource type of the linked resource. + */ linkedResourceType?: string; + /** + * Link to the external resource + */ link?: string; + /** + * Provisioning state of the ResourceNavigationLink resource. + */ readonly provisioningState?: string; + /** + * Name of the resource that is unique within a resource group. This name can be used to access + * the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ServiceAssociationLink class. - * @constructor - * ServiceAssociationLink resource. - * - * @property {string} [linkedResourceType] Resource type of the linked - * resource. - * @property {string} [link] Link to the external resource. - * @property {string} [provisioningState] Provisioning state of the * ServiceAssociationLink resource. - * @property {string} [name] Name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface ServiceAssociationLink extends SubResource { + /** + * Resource type of the linked resource. + */ linkedResourceType?: string; + /** + * Link to the external resource. + */ link?: string; + /** + * Provisioning state of the ServiceAssociationLink resource. + */ readonly provisioningState?: string; + /** + * Name of the resource that is unique within a resource group. This name can be used to access + * the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the Delegation class. - * @constructor * Details the service to which the subnet is delegated. - * - * @property {string} [serviceName] The name of the service to whom the subnet - * should be delegated (e.g. Microsoft.Sql/servers) - * @property {array} [actions] Describes the actions permitted to the service - * upon delegation - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [name] The name of the resource that is unique within a - * subnet. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface Delegation extends SubResource { + /** + * The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers) + */ serviceName?: string; + /** + * Describes the actions permitted to the service upon delegation + */ actions?: string[]; + /** + * The provisioning state of the resource. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a subnet. This name can be used to access the + * resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the Subnet class. - * @constructor * Subnet in a virtual network resource. - * - * @property {string} [addressPrefix] The address prefix for the subnet. - * @property {array} [addressPrefixes] List of address prefixes for the - * subnet. - * @property {object} [networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @property {array} [networkSecurityGroup.securityRules] A collection of - * security rules of the network security group. - * @property {array} [networkSecurityGroup.defaultSecurityRules] The default - * security rules of network security group. - * @property {array} [networkSecurityGroup.networkInterfaces] A collection of - * references to network interfaces. - * @property {array} [networkSecurityGroup.subnets] A collection of references - * to subnets. - * @property {string} [networkSecurityGroup.resourceGuid] The resource GUID - * property of the network security group resource. - * @property {string} [networkSecurityGroup.provisioningState] The provisioning - * state of the public IP resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [networkSecurityGroup.etag] A unique read-only string - * that changes whenever the resource is updated. - * @property {object} [routeTable] The reference of the RouteTable resource. - * @property {array} [routeTable.routes] Collection of routes contained within - * a route table. - * @property {array} [routeTable.subnets] A collection of references to - * subnets. - * @property {boolean} [routeTable.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * @property {string} [routeTable.provisioningState] The provisioning state of - * the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [routeTable.etag] Gets a unique read-only string that - * changes whenever the resource is updated. - * @property {array} [serviceEndpoints] An array of service endpoints. - * @property {array} [serviceEndpointPolicies] An array of service endpoint - * policies. - * @property {array} [interfaceEndpoints] An array of references to interface - * endpoints - * @property {array} [ipConfigurations] Gets an array of references to the - * network interface IP configurations using subnet. - * @property {array} [ipConfigurationProfiles] Array of IP configuration - * profiles which reference this subnet. - * @property {array} [resourceNavigationLinks] Gets an array of references to - * the external resources using subnet. - * @property {array} [serviceAssociationLinks] Gets an array of references to - * services injecting into this subnet. - * @property {array} [delegations] Gets an array of references to the - * delegations on the subnet. - * @property {string} [purpose] A read-only string identifying the intention of - * use for this subnet based on delegations and other user-defined properties. - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface Subnet extends SubResource { + /** + * The address prefix for the subnet. + */ addressPrefix?: string; + /** + * List of address prefixes for the subnet. + */ addressPrefixes?: string[]; + /** + * The reference of the NetworkSecurityGroup resource. + */ networkSecurityGroup?: NetworkSecurityGroup; + /** + * The reference of the RouteTable resource. + */ routeTable?: RouteTable; + /** + * An array of service endpoints. + */ serviceEndpoints?: ServiceEndpointPropertiesFormat[]; + /** + * An array of service endpoint policies. + */ serviceEndpointPolicies?: ServiceEndpointPolicy[]; + /** + * An array of references to interface endpoints + */ readonly interfaceEndpoints?: InterfaceEndpoint[]; + /** + * Gets an array of references to the network interface IP configurations using subnet. + */ readonly ipConfigurations?: IPConfiguration[]; + /** + * Array of IP configuration profiles which reference this subnet. + */ readonly ipConfigurationProfiles?: IPConfigurationProfile[]; + /** + * Gets an array of references to the external resources using subnet. + */ resourceNavigationLinks?: ResourceNavigationLink[]; + /** + * Gets an array of references to services injecting into this subnet. + */ serviceAssociationLinks?: ServiceAssociationLink[]; + /** + * Gets an array of references to the delegations on the subnet. + */ delegations?: Delegation[]; + /** + * A read-only string identifying the intention of use for this subnet based on delegations and + * other user-defined properties. + */ readonly purpose?: string; + /** + * The provisioning state of the resource. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the FrontendIPConfiguration class. - * @constructor * Frontend IP address of the load balancer. - * - * @property {array} [inboundNatRules] Read only. Inbound rules URIs that use - * this frontend IP. - * @property {array} [inboundNatPools] Read only. Inbound pools URIs that use - * this frontend IP. - * @property {array} [outboundRules] Read only. Outbound rules URIs that use - * this frontend IP. - * @property {array} [loadBalancingRules] Gets load balancing rules URIs that - * use this frontend IP. - * @property {string} [privateIPAddress] The private IP address of the IP - * configuration. - * @property {string} [privateIPAllocationMethod] The Private IP allocation - * method. Possible values are: 'Static' and 'Dynamic'. Possible values - * include: 'Static', 'Dynamic' - * @property {object} [subnet] The reference of the subnet resource. - * @property {string} [subnet.addressPrefix] The address prefix for the subnet. - * @property {array} [subnet.addressPrefixes] List of address prefixes for the - * subnet. - * @property {object} [subnet.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @property {array} [subnet.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. - * @property {array} [subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} [subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @property {array} [subnet.networkSecurityGroup.subnets] A collection of - * references to subnets. - * @property {string} [subnet.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * @property {string} [subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [subnet.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {object} [subnet.routeTable] The reference of the RouteTable - * resource. - * @property {array} [subnet.routeTable.routes] Collection of routes contained - * within a route table. - * @property {array} [subnet.routeTable.subnets] A collection of references to - * subnets. - * @property {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @property {string} [subnet.routeTable.provisioningState] The provisioning - * state of the resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [subnet.routeTable.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @property {array} [subnet.serviceEndpoints] An array of service endpoints. - * @property {array} [subnet.serviceEndpointPolicies] An array of service - * endpoint policies. - * @property {array} [subnet.interfaceEndpoints] An array of references to - * interface endpoints - * @property {array} [subnet.ipConfigurations] Gets an array of references to - * the network interface IP configurations using subnet. - * @property {array} [subnet.ipConfigurationProfiles] Array of IP configuration - * profiles which reference this subnet. - * @property {array} [subnet.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * @property {array} [subnet.serviceAssociationLinks] Gets an array of - * references to services injecting into this subnet. - * @property {array} [subnet.delegations] Gets an array of references to the - * delegations on the subnet. - * @property {string} [subnet.purpose] A read-only string identifying the - * intention of use for this subnet based on delegations and other user-defined - * properties. - * @property {string} [subnet.provisioningState] The provisioning state of the - * resource. - * @property {string} [subnet.name] The name of the resource that is unique - * within a resource group. This name can be used to access the resource. - * @property {string} [subnet.etag] A unique read-only string that changes - * whenever the resource is updated. - * @property {object} [publicIPAddress] The reference of the Public IP - * resource. - * @property {object} [publicIPAddress.sku] The public IP address SKU. - * @property {string} [publicIPAddress.sku.name] Name of a public IP address - * SKU. Possible values include: 'Basic', 'Standard' - * @property {string} [publicIPAddress.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {string} [publicIPAddress.publicIPAddressVersion] The public IP - * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @property {object} [publicIPAddress.ipConfiguration] The IP configuration - * associated with the public IP address. - * @property {string} [publicIPAddress.ipConfiguration.privateIPAddress] The - * private IP address of the IP configuration. - * @property {string} - * [publicIPAddress.ipConfiguration.privateIPAllocationMethod] The private IP - * allocation method. Possible values are 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {object} [publicIPAddress.ipConfiguration.subnet] The reference of - * the subnet resource. - * @property {string} [publicIPAddress.ipConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} [publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] The reference - * of the NetworkSecurityGroup resource. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] A - * collection of references to subnets. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} [publicIPAddress.ipConfiguration.subnet.routeTable] The - * reference of the RouteTable resource. - * @property {array} [publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.routeTable.subnets] A collection of - * references to subnets. - * @property {boolean} - * [publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} [publicIPAddress.ipConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] An array of - * service endpoint policies. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] An array of - * references to interface endpoints - * @property {array} [publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] Array of IP - * configuration profiles which reference this subnet. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] Gets an - * array of references to the external resources using subnet. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] Gets an - * array of references to services injecting into this subnet. - * @property {array} [publicIPAddress.ipConfiguration.subnet.delegations] Gets - * an array of references to the delegations on the subnet. - * @property {string} [publicIPAddress.ipConfiguration.subnet.purpose] A - * read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.provisioningState] The provisioning - * state of the resource. - * @property {string} [publicIPAddress.ipConfiguration.subnet.name] The name of - * the resource that is unique within a resource group. This name can be used - * to access the resource. - * @property {string} [publicIPAddress.ipConfiguration.subnet.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} [publicIPAddress.ipConfiguration.publicIPAddress] The - * reference of the public IP resource. - * @property {string} [publicIPAddress.ipConfiguration.provisioningState] Gets - * the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [publicIPAddress.ipConfiguration.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * @property {string} [publicIPAddress.ipConfiguration.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {object} [publicIPAddress.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. - * @property {string} [publicIPAddress.dnsSettings.domainNameLabel] Gets or - * sets the Domain name label.The concatenation of the domain name label and - * the regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @property {string} [publicIPAddress.dnsSettings.fqdn] Gets the FQDN, Fully - * qualified domain name of the A DNS record associated with the public IP. - * This is the concatenation of the domainNameLabel and the regionalized DNS - * zone. - * @property {string} [publicIPAddress.dnsSettings.reverseFqdn] Gets or Sets - * the Reverse FQDN. A user-visible, fully qualified domain name that resolves - * to this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. - * @property {array} [publicIPAddress.ipTags] The list of tags associated with - * the public IP address. - * @property {string} [publicIPAddress.ipAddress] The IP address associated - * with the public IP address resource. - * @property {object} [publicIPAddress.publicIPPrefix] The Public IP Prefix - * this Public IP Address should be allocated from. - * @property {string} [publicIPAddress.publicIPPrefix.id] Resource ID. - * @property {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout - * of the public IP address. - * @property {string} [publicIPAddress.resourceGuid] The resource GUID property - * of the public IP resource. - * @property {string} [publicIPAddress.provisioningState] The provisioning - * state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [publicIPAddress.etag] A unique read-only string that - * changes whenever the resource is updated. - * @property {array} [publicIPAddress.zones] A list of availability zones - * denoting the IP allocated for the resource needs to come from. - * @property {object} [publicIPPrefix] The reference of the Public IP Prefix - * resource. - * @property {string} [publicIPPrefix.id] Resource ID. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {array} [zones] A list of availability zones denoting the IP - * allocated for the resource needs to come from. */ export interface FrontendIPConfiguration extends SubResource { + /** + * Read only. Inbound rules URIs that use this frontend IP. + */ readonly inboundNatRules?: SubResource[]; + /** + * Read only. Inbound pools URIs that use this frontend IP. + */ readonly inboundNatPools?: SubResource[]; + /** + * Read only. Outbound rules URIs that use this frontend IP. + */ readonly outboundRules?: SubResource[]; + /** + * Gets load balancing rules URIs that use this frontend IP. + */ readonly loadBalancingRules?: SubResource[]; + /** + * The private IP address of the IP configuration. + */ privateIPAddress?: string; + /** + * The Private IP allocation method. Possible values are: 'Static' and 'Dynamic'. Possible values + * include: 'Static', 'Dynamic' + */ privateIPAllocationMethod?: string; + /** + * The reference of the subnet resource. + */ subnet?: Subnet; + /** + * The reference of the Public IP resource. + */ publicIPAddress?: PublicIPAddress; + /** + * The reference of the Public IP Prefix resource. + */ publicIPPrefix?: SubResource; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * A list of availability zones denoting the IP allocated for the resource needs to come from. + */ zones?: string[]; } /** - * @class - * Initializes a new instance of the VirtualNetworkTap class. - * @constructor * Virtual Network Tap resource - * - * @property {array} [networkInterfaceTapConfigurations] Specifies the list of - * resource IDs for the network interface IP configuration that needs to be - * tapped. - * @property {string} [resourceGuid] The resourceGuid property of the virtual - * network tap. - * @property {string} [provisioningState] The provisioning state of the virtual - * network tap. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {object} [destinationNetworkInterfaceIPConfiguration] The - * reference to the private IP Address of the collector nic that will receive - * the tap - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.virtualNetworkTaps] The - * reference to Virtual Network Taps. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.applicationGatewayBackendAddressPools] - * The reference of ApplicationGatewayBackendAddressPool resource. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.loadBalancerBackendAddressPools] - * The reference of LoadBalancerBackendAddressPool resource. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.loadBalancerInboundNatRules] A - * list of references of LoadBalancerInboundNatRules. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.privateIPAddress] Private IP - * address of the IP configuration. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.privateIPAllocationMethod] - * Defines how a private IP address is assigned. Possible values are: 'Static' - * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.privateIPAddressVersion] - * Available from Api-Version 2016-03-30 onwards, it represents whether the - * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. - * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', - * 'IPv6' - * @property {object} [destinationNetworkInterfaceIPConfiguration.subnet] - * Subnet bound to the IP configuration. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.addressPrefix] The - * address prefix for the subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.addressPrefixes] List of - * address prefixes for the subnet. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup] The - * reference of the NetworkSecurityGroup resource. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable] The reference - * of the RouteTable resource. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.subnets] A - * collection of references to subnets. - * @property {boolean} - * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.routeTable.etag] Gets a - * unique read-only string that changes whenever the resource is updated. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpoints] An - * array of service endpoints. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.interfaceEndpoints] An - * array of references to interface endpoints - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurations] Gets an - * array of references to the network interface IP configurations using subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.subnet.delegations] Gets an - * array of references to the delegations on the subnet. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.purpose] A read-only - * string identifying the intention of use for this subnet based on delegations - * and other user-defined properties. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.subnet.provisioningState] The - * provisioning state of the resource. - * @property {string} [destinationNetworkInterfaceIPConfiguration.subnet.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} [destinationNetworkInterfaceIPConfiguration.subnet.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {boolean} [destinationNetworkInterfaceIPConfiguration.primary] - * Gets whether this is a primary customer address on the network interface. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress] Public IP - * address bound to the IP configuration. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku] The public - * IP address SKU. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.sku.name] Name - * of a public IP address SKU. Possible values include: 'Basic', 'Standard' - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAllocationMethod] - * The public IP allocation method. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPAddressVersion] - * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. - * Possible values include: 'IPv4', 'IPv6' - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration] - * The IP configuration associated with the public IP address. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] - * The private IP address of the IP configuration. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] - * The private IP allocation method. Possible values are 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet] - * The reference of the subnet resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] - * The reference of the RouteTable resource. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] - * Gets an array of references to the delegations on the subnet. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] - * A read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] - * The reference of the public IP resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] - * Gets the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipConfiguration.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings] The - * FQDN of the DNS record associated with the public IP address. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] - * Gets or sets the Domain name label.The concatenation of the domain name - * label and the regionalized DNS zone make up the fully qualified domain name - * associated with the public IP address. If a domain name label is specified, - * an A DNS record is created for the public IP in the Microsoft Azure DNS - * system. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.fqdn] - * Gets the FQDN, Fully qualified domain name of the A DNS record associated - * with the public IP. This is the concatenation of the domainNameLabel and the - * regionalized DNS zone. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] - * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name - * that resolves to this public IP address. If the reverseFqdn is specified, - * then a PTR DNS record is created pointing from the IP address in the - * in-addr.arpa domain to the reverse FQDN. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] The list - * of tags associated with the public IP address. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipAddress] The - * IP address associated with the public IP address resource. - * @property {object} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix] - * The Public IP Prefix this Public IP Address should be allocated from. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.publicIPPrefix.id] - * Resource ID. - * @property {number} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.idleTimeoutInMinutes] - * The idle timeout of the public IP address. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.resourceGuid] - * The resource GUID property of the public IP resource. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.provisioningState] - * The provisioning state of the PublicIP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.zones] A list of - * availability zones denoting the IP allocated for the resource needs to come - * from. - * @property {array} - * [destinationNetworkInterfaceIPConfiguration.applicationSecurityGroups] - * Application security groups in which the IP configuration is included. - * @property {string} - * [destinationNetworkInterfaceIPConfiguration.provisioningState] The - * provisioning state of the network interface IP configuration. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [destinationNetworkInterfaceIPConfiguration.name] The - * name of the resource that is unique within a resource group. This name can - * be used to access the resource. - * @property {string} [destinationNetworkInterfaceIPConfiguration.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {object} [destinationLoadBalancerFrontEndIPConfiguration] The - * reference to the private IP address on the internal Load Balancer that will - * receive the tap - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.inboundNatRules] Read only. - * Inbound rules URIs that use this frontend IP. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.inboundNatPools] Read only. - * Inbound pools URIs that use this frontend IP. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.outboundRules] Read only. - * Outbound rules URIs that use this frontend IP. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.loadBalancingRules] Gets - * load balancing rules URIs that use this frontend IP. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.privateIPAddress] The - * private IP address of the IP configuration. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.privateIPAllocationMethod] - * The Private IP allocation method. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} [destinationLoadBalancerFrontEndIPConfiguration.subnet] - * The reference of the subnet resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefix] The - * address prefix for the subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.addressPrefixes] List - * of address prefixes for the subnet. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable] The - * reference of the RouteTable resource. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.subnets] A - * collection of references to subnets. - * @property {boolean} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.routeTable.etag] Gets - * a unique read-only string that changes whenever the resource is updated. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpoints] An - * array of service endpoints. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.delegations] Gets an - * array of references to the delegations on the subnet. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.purpose] A read-only - * string identifying the intention of use for this subnet based on delegations - * and other user-defined properties. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.subnet.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress] The - * reference of the Public IP resource. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku] The - * public IP address SKU. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.sku.name] - * Name of a public IP address SKU. Possible values include: 'Basic', - * 'Standard' - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAllocationMethod] - * The public IP allocation method. Possible values are: 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPAddressVersion] - * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. - * Possible values include: 'IPv4', 'IPv6' - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration] - * The IP configuration associated with the public IP address. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] - * The private IP address of the IP configuration. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] - * The private IP allocation method. Possible values are 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet] - * The reference of the subnet resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] - * The reference of the RouteTable resource. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] - * Gets an array of references to the delegations on the subnet. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] - * A read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] - * The reference of the public IP resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] - * Gets the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipConfiguration.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings] - * The FQDN of the DNS record associated with the public IP address. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] - * Gets or sets the Domain name label.The concatenation of the domain name - * label and the regionalized DNS zone make up the fully qualified domain name - * associated with the public IP address. If a domain name label is specified, - * an A DNS record is created for the public IP in the Microsoft Azure DNS - * system. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.fqdn] - * Gets the FQDN, Fully qualified domain name of the A DNS record associated - * with the public IP. This is the concatenation of the domainNameLabel and the - * regionalized DNS zone. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] - * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name - * that resolves to this public IP address. If the reverseFqdn is specified, - * then a PTR DNS record is created pointing from the IP address in the - * in-addr.arpa domain to the reverse FQDN. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] The - * list of tags associated with the public IP address. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipAddress] - * The IP address associated with the public IP address resource. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix] - * The Public IP Prefix this Public IP Address should be allocated from. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.publicIPPrefix.id] - * Resource ID. - * @property {number} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.idleTimeoutInMinutes] - * The idle timeout of the public IP address. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.resourceGuid] - * The resource GUID property of the public IP resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.provisioningState] - * The provisioning state of the PublicIP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {array} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.zones] A - * list of availability zones denoting the IP allocated for the resource needs - * to come from. - * @property {object} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix] The - * reference of the Public IP Prefix resource. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.publicIPPrefix.id] Resource - * ID. - * @property {string} - * [destinationLoadBalancerFrontEndIPConfiguration.provisioningState] Gets the - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [destinationLoadBalancerFrontEndIPConfiguration.name] The - * name of the resource that is unique within a resource group. This name can - * be used to access the resource. - * @property {string} [destinationLoadBalancerFrontEndIPConfiguration.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {array} [destinationLoadBalancerFrontEndIPConfiguration.zones] A - * list of availability zones denoting the IP allocated for the resource needs - * to come from. - * @property {number} [destinationPort] The VXLAN destination port that will - * receive the tapped traffic. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. */ export interface VirtualNetworkTap extends Resource { + /** + * Specifies the list of resource IDs for the network interface IP configuration that needs to be + * tapped. + */ readonly networkInterfaceTapConfigurations?: NetworkInterfaceTapConfiguration[]; + /** + * The resourceGuid property of the virtual network tap. + */ readonly resourceGuid?: string; + /** + * The provisioning state of the virtual network tap. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The reference to the private IP Address of the collector nic that will receive the tap + */ destinationNetworkInterfaceIPConfiguration?: NetworkInterfaceIPConfiguration; + /** + * The reference to the private IP address on the internal Load Balancer that will receive the + * tap + */ destinationLoadBalancerFrontEndIPConfiguration?: FrontendIPConfiguration; + /** + * The VXLAN destination port that will receive the tapped traffic. + */ destinationPort?: number; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the BackendAddressPool class. - * @constructor * Pool of backend IP addresses. - * - * @property {array} [backendIPConfigurations] Gets collection of references to - * IP addresses defined in network interfaces. - * @property {array} [loadBalancingRules] Gets load balancing rules that use - * this backend address pool. - * @property {object} [outboundRule] Gets outbound rules that use this backend - * address pool. - * @property {string} [outboundRule.id] Resource ID. - * @property {string} [provisioningState] Get provisioning state of the public - * IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface BackendAddressPool extends SubResource { + /** + * Gets collection of references to IP addresses defined in network interfaces. + */ readonly backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; + /** + * Gets load balancing rules that use this backend address pool. + */ readonly loadBalancingRules?: SubResource[]; + /** + * Gets outbound rules that use this backend address pool. + */ readonly outboundRule?: SubResource; + /** + * Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the InboundNatRule class. - * @constructor * Inbound NAT rule of the load balancer. - * - * @property {object} [frontendIPConfiguration] A reference to frontend IP - * addresses. - * @property {string} [frontendIPConfiguration.id] Resource ID. - * @property {object} [backendIPConfiguration] A reference to a private IP - * address defined on a network interface of a VM. Traffic sent to the frontend - * port of each of the frontend IP configurations is forwarded to the backend - * IP. - * @property {array} [backendIPConfiguration.virtualNetworkTaps] The reference - * to Virtual Network Taps. - * @property {array} - * [backendIPConfiguration.applicationGatewayBackendAddressPools] The reference - * of ApplicationGatewayBackendAddressPool resource. - * @property {array} [backendIPConfiguration.loadBalancerBackendAddressPools] - * The reference of LoadBalancerBackendAddressPool resource. - * @property {array} [backendIPConfiguration.loadBalancerInboundNatRules] A - * list of references of LoadBalancerInboundNatRules. - * @property {string} [backendIPConfiguration.privateIPAddress] Private IP - * address of the IP configuration. - * @property {string} [backendIPConfiguration.privateIPAllocationMethod] - * Defines how a private IP address is assigned. Possible values are: 'Static' - * and 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {string} [backendIPConfiguration.privateIPAddressVersion] - * Available from Api-Version 2016-03-30 onwards, it represents whether the - * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. - * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', - * 'IPv6' - * @property {object} [backendIPConfiguration.subnet] Subnet bound to the IP - * configuration. - * @property {string} [backendIPConfiguration.subnet.addressPrefix] The address - * prefix for the subnet. - * @property {array} [backendIPConfiguration.subnet.addressPrefixes] List of - * address prefixes for the subnet. - * @property {object} [backendIPConfiguration.subnet.networkSecurityGroup] The - * reference of the NetworkSecurityGroup resource. - * @property {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.securityRules] A - * collection of security rules of the network security group. - * @property {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @property {array} - * [backendIPConfiguration.subnet.networkSecurityGroup.subnets] A collection of - * references to subnets. - * @property {string} - * [backendIPConfiguration.subnet.networkSecurityGroup.resourceGuid] The - * resource GUID property of the network security group resource. - * @property {string} - * [backendIPConfiguration.subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [backendIPConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} [backendIPConfiguration.subnet.routeTable] The reference - * of the RouteTable resource. - * @property {array} [backendIPConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} [backendIPConfiguration.subnet.routeTable.subnets] A - * collection of references to subnets. - * @property {boolean} - * [backendIPConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets - * or sets whether to disable the routes learned by BGP on that route table. - * True means disable. - * @property {string} - * [backendIPConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [backendIPConfiguration.subnet.routeTable.etag] Gets a - * unique read-only string that changes whenever the resource is updated. - * @property {array} [backendIPConfiguration.subnet.serviceEndpoints] An array - * of service endpoints. - * @property {array} [backendIPConfiguration.subnet.serviceEndpointPolicies] An - * array of service endpoint policies. - * @property {array} [backendIPConfiguration.subnet.interfaceEndpoints] An - * array of references to interface endpoints - * @property {array} [backendIPConfiguration.subnet.ipConfigurations] Gets an - * array of references to the network interface IP configurations using subnet. - * @property {array} [backendIPConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} [backendIPConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} [backendIPConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} [backendIPConfiguration.subnet.delegations] Gets an array - * of references to the delegations on the subnet. - * @property {string} [backendIPConfiguration.subnet.purpose] A read-only - * string identifying the intention of use for this subnet based on delegations - * and other user-defined properties. - * @property {string} [backendIPConfiguration.subnet.provisioningState] The - * provisioning state of the resource. - * @property {string} [backendIPConfiguration.subnet.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * @property {string} [backendIPConfiguration.subnet.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {boolean} [backendIPConfiguration.primary] Gets whether this is a - * primary customer address on the network interface. - * @property {object} [backendIPConfiguration.publicIPAddress] Public IP - * address bound to the IP configuration. - * @property {object} [backendIPConfiguration.publicIPAddress.sku] The public - * IP address SKU. - * @property {string} [backendIPConfiguration.publicIPAddress.sku.name] Name of - * a public IP address SKU. Possible values include: 'Basic', 'Standard' - * @property {string} - * [backendIPConfiguration.publicIPAddress.publicIPAllocationMethod] The public - * IP allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {string} - * [backendIPConfiguration.publicIPAddress.publicIPAddressVersion] The public - * IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @property {object} [backendIPConfiguration.publicIPAddress.ipConfiguration] - * The IP configuration associated with the public IP address. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] - * The private IP address of the IP configuration. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] - * The private IP allocation method. Possible values are 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet] The - * reference of the subnet resource. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] - * The reference of the RouteTable resource. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] - * Gets an array of references to the delegations on the subnet. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] A - * read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.name] The - * name of the resource that is unique within a resource group. This name can - * be used to access the resource. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.subnet.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {object} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] The - * reference of the public IP resource. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.provisioningState] - * Gets the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.name] The name of - * the resource that is unique within a resource group. This name can be used - * to access the resource. - * @property {string} - * [backendIPConfiguration.publicIPAddress.ipConfiguration.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} [backendIPConfiguration.publicIPAddress.dnsSettings] The - * FQDN of the DNS record associated with the public IP address. - * @property {string} - * [backendIPConfiguration.publicIPAddress.dnsSettings.domainNameLabel] Gets or - * sets the Domain name label.The concatenation of the domain name label and - * the regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @property {string} [backendIPConfiguration.publicIPAddress.dnsSettings.fqdn] - * Gets the FQDN, Fully qualified domain name of the A DNS record associated - * with the public IP. This is the concatenation of the domainNameLabel and the - * regionalized DNS zone. - * @property {string} - * [backendIPConfiguration.publicIPAddress.dnsSettings.reverseFqdn] Gets or - * Sets the Reverse FQDN. A user-visible, fully qualified domain name that - * resolves to this public IP address. If the reverseFqdn is specified, then a - * PTR DNS record is created pointing from the IP address in the in-addr.arpa - * domain to the reverse FQDN. - * @property {array} [backendIPConfiguration.publicIPAddress.ipTags] The list - * of tags associated with the public IP address. - * @property {string} [backendIPConfiguration.publicIPAddress.ipAddress] The IP - * address associated with the public IP address resource. - * @property {object} [backendIPConfiguration.publicIPAddress.publicIPPrefix] - * The Public IP Prefix this Public IP Address should be allocated from. - * @property {string} - * [backendIPConfiguration.publicIPAddress.publicIPPrefix.id] Resource ID. - * @property {number} - * [backendIPConfiguration.publicIPAddress.idleTimeoutInMinutes] The idle - * timeout of the public IP address. - * @property {string} [backendIPConfiguration.publicIPAddress.resourceGuid] The - * resource GUID property of the public IP resource. - * @property {string} - * [backendIPConfiguration.publicIPAddress.provisioningState] The provisioning - * state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [backendIPConfiguration.publicIPAddress.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {array} [backendIPConfiguration.publicIPAddress.zones] A list of - * availability zones denoting the IP allocated for the resource needs to come - * from. - * @property {array} [backendIPConfiguration.applicationSecurityGroups] - * Application security groups in which the IP configuration is included. - * @property {string} [backendIPConfiguration.provisioningState] The - * provisioning state of the network interface IP configuration. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [backendIPConfiguration.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. - * @property {string} [backendIPConfiguration.etag] A unique read-only string - * that changes whenever the resource is updated. - * @property {string} [protocol] Possible values include: 'Udp', 'Tcp', 'All' - * @property {number} [frontendPort] The port for the external endpoint. Port - * numbers for each rule must be unique within the Load Balancer. Acceptable - * values range from 1 to 65534. - * @property {number} [backendPort] The port used for the internal endpoint. - * Acceptable values range from 1 to 65535. - * @property {number} [idleTimeoutInMinutes] The timeout for the TCP idle - * connection. The value can be set between 4 and 30 minutes. The default value - * is 4 minutes. This element is only used when the protocol is set to TCP. - * @property {boolean} [enableFloatingIP] Configures a virtual machine's - * endpoint for the floating IP capability required to configure a SQL AlwaysOn - * Availability Group. This setting is required when using the SQL AlwaysOn - * Availability Groups in SQL server. This setting can't be changed after you - * create the endpoint. - * @property {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. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface InboundNatRule extends SubResource { + /** + * A reference to frontend IP addresses. + */ frontendIPConfiguration?: SubResource; + /** + * A reference to a private IP address defined on a network interface of a VM. Traffic sent to + * the frontend port of each of the frontend IP configurations is forwarded to the backend IP. + */ readonly backendIPConfiguration?: NetworkInterfaceIPConfiguration; + /** + * Possible values include: 'Udp', 'Tcp', 'All' + */ protocol?: string; + /** + * The port for the external endpoint. Port numbers for each rule must be unique within the Load + * Balancer. Acceptable values range from 1 to 65534. + */ frontendPort?: number; + /** + * The port used for the internal endpoint. Acceptable values range from 1 to 65535. + */ backendPort?: number; + /** + * The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + * default value is 4 minutes. This element is only used when the protocol is set to TCP. + */ idleTimeoutInMinutes?: number; + /** + * Configures a virtual machine's endpoint for the floating IP capability required to configure a + * SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn + * Availability Groups in SQL server. This setting can't be changed after you create the + * endpoint. + */ enableFloatingIP?: boolean; + /** + * 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. + */ enableTcpReset?: boolean; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceIPConfiguration class. - * @constructor * IPConfiguration in a network interface. - * - * @property {array} [virtualNetworkTaps] The reference to Virtual Network - * Taps. - * @property {array} [applicationGatewayBackendAddressPools] The reference of - * ApplicationGatewayBackendAddressPool resource. - * @property {array} [loadBalancerBackendAddressPools] The reference of - * LoadBalancerBackendAddressPool resource. - * @property {array} [loadBalancerInboundNatRules] A list of references of - * LoadBalancerInboundNatRules. - * @property {string} [privateIPAddress] Private IP address of the IP - * configuration. - * @property {string} [privateIPAllocationMethod] Defines how a private IP - * address is assigned. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {string} [privateIPAddressVersion] Available from Api-Version - * 2016-03-30 onwards, it represents whether the specific ipconfiguration is - * IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and - * 'IPv6'. Possible values include: 'IPv4', 'IPv6' - * @property {object} [subnet] Subnet bound to the IP configuration. - * @property {string} [subnet.addressPrefix] The address prefix for the subnet. - * @property {array} [subnet.addressPrefixes] List of address prefixes for the - * subnet. - * @property {object} [subnet.networkSecurityGroup] The reference of the - * NetworkSecurityGroup resource. - * @property {array} [subnet.networkSecurityGroup.securityRules] A collection - * of security rules of the network security group. - * @property {array} [subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} [subnet.networkSecurityGroup.networkInterfaces] A - * collection of references to network interfaces. - * @property {array} [subnet.networkSecurityGroup.subnets] A collection of - * references to subnets. - * @property {string} [subnet.networkSecurityGroup.resourceGuid] The resource - * GUID property of the network security group resource. - * @property {string} [subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [subnet.networkSecurityGroup.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {object} [subnet.routeTable] The reference of the RouteTable - * resource. - * @property {array} [subnet.routeTable.routes] Collection of routes contained - * within a route table. - * @property {array} [subnet.routeTable.subnets] A collection of references to - * subnets. - * @property {boolean} [subnet.routeTable.disableBgpRoutePropagation] Gets or - * sets whether to disable the routes learned by BGP on that route table. True - * means disable. - * @property {string} [subnet.routeTable.provisioningState] The provisioning - * state of the resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [subnet.routeTable.etag] Gets a unique read-only string - * that changes whenever the resource is updated. - * @property {array} [subnet.serviceEndpoints] An array of service endpoints. - * @property {array} [subnet.serviceEndpointPolicies] An array of service - * endpoint policies. - * @property {array} [subnet.interfaceEndpoints] An array of references to - * interface endpoints - * @property {array} [subnet.ipConfigurations] Gets an array of references to - * the network interface IP configurations using subnet. - * @property {array} [subnet.ipConfigurationProfiles] Array of IP configuration - * profiles which reference this subnet. - * @property {array} [subnet.resourceNavigationLinks] Gets an array of - * references to the external resources using subnet. - * @property {array} [subnet.serviceAssociationLinks] Gets an array of - * references to services injecting into this subnet. - * @property {array} [subnet.delegations] Gets an array of references to the - * delegations on the subnet. - * @property {string} [subnet.purpose] A read-only string identifying the - * intention of use for this subnet based on delegations and other user-defined - * properties. - * @property {string} [subnet.provisioningState] The provisioning state of the - * resource. - * @property {string} [subnet.name] The name of the resource that is unique - * within a resource group. This name can be used to access the resource. - * @property {string} [subnet.etag] A unique read-only string that changes - * whenever the resource is updated. - * @property {boolean} [primary] Gets whether this is a primary customer - * address on the network interface. - * @property {object} [publicIPAddress] Public IP address bound to the IP - * configuration. - * @property {object} [publicIPAddress.sku] The public IP address SKU. - * @property {string} [publicIPAddress.sku.name] Name of a public IP address - * SKU. Possible values include: 'Basic', 'Standard' - * @property {string} [publicIPAddress.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {string} [publicIPAddress.publicIPAddressVersion] The public IP - * address version. Possible values are: 'IPv4' and 'IPv6'. Possible values - * include: 'IPv4', 'IPv6' - * @property {object} [publicIPAddress.ipConfiguration] The IP configuration - * associated with the public IP address. - * @property {string} [publicIPAddress.ipConfiguration.privateIPAddress] The - * private IP address of the IP configuration. - * @property {string} - * [publicIPAddress.ipConfiguration.privateIPAllocationMethod] The private IP - * allocation method. Possible values are 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {object} [publicIPAddress.ipConfiguration.subnet] The reference of - * the subnet resource. - * @property {string} [publicIPAddress.ipConfiguration.subnet.addressPrefix] - * The address prefix for the subnet. - * @property {array} [publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] The reference - * of the NetworkSecurityGroup resource. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] A - * collection of references to subnets. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} [publicIPAddress.ipConfiguration.subnet.routeTable] The - * reference of the RouteTable resource. - * @property {array} [publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.routeTable.subnets] A collection of - * references to subnets. - * @property {boolean} - * [publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} [publicIPAddress.ipConfiguration.subnet.serviceEndpoints] - * An array of service endpoints. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] An array of - * service endpoint policies. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] An array of - * references to interface endpoints - * @property {array} [publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] Array of IP - * configuration profiles which reference this subnet. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] Gets an - * array of references to the external resources using subnet. - * @property {array} - * [publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] Gets an - * array of references to services injecting into this subnet. - * @property {array} [publicIPAddress.ipConfiguration.subnet.delegations] Gets - * an array of references to the delegations on the subnet. - * @property {string} [publicIPAddress.ipConfiguration.subnet.purpose] A - * read-only string identifying the intention of use for this subnet based on - * delegations and other user-defined properties. - * @property {string} - * [publicIPAddress.ipConfiguration.subnet.provisioningState] The provisioning - * state of the resource. - * @property {string} [publicIPAddress.ipConfiguration.subnet.name] The name of - * the resource that is unique within a resource group. This name can be used - * to access the resource. - * @property {string} [publicIPAddress.ipConfiguration.subnet.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} [publicIPAddress.ipConfiguration.publicIPAddress] The - * reference of the public IP resource. - * @property {string} [publicIPAddress.ipConfiguration.provisioningState] Gets - * the provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [publicIPAddress.ipConfiguration.name] The name of the - * resource that is unique within a resource group. This name can be used to - * access the resource. - * @property {string} [publicIPAddress.ipConfiguration.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {object} [publicIPAddress.dnsSettings] The FQDN of the DNS record - * associated with the public IP address. - * @property {string} [publicIPAddress.dnsSettings.domainNameLabel] Gets or - * sets the Domain name label.The concatenation of the domain name label and - * the regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @property {string} [publicIPAddress.dnsSettings.fqdn] Gets the FQDN, Fully - * qualified domain name of the A DNS record associated with the public IP. - * This is the concatenation of the domainNameLabel and the regionalized DNS - * zone. - * @property {string} [publicIPAddress.dnsSettings.reverseFqdn] Gets or Sets - * the Reverse FQDN. A user-visible, fully qualified domain name that resolves - * to this public IP address. If the reverseFqdn is specified, then a PTR DNS - * record is created pointing from the IP address in the in-addr.arpa domain to - * the reverse FQDN. - * @property {array} [publicIPAddress.ipTags] The list of tags associated with - * the public IP address. - * @property {string} [publicIPAddress.ipAddress] The IP address associated - * with the public IP address resource. - * @property {object} [publicIPAddress.publicIPPrefix] The Public IP Prefix - * this Public IP Address should be allocated from. - * @property {string} [publicIPAddress.publicIPPrefix.id] Resource ID. - * @property {number} [publicIPAddress.idleTimeoutInMinutes] The idle timeout - * of the public IP address. - * @property {string} [publicIPAddress.resourceGuid] The resource GUID property - * of the public IP resource. - * @property {string} [publicIPAddress.provisioningState] The provisioning - * state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [publicIPAddress.etag] A unique read-only string that - * changes whenever the resource is updated. - * @property {array} [publicIPAddress.zones] A list of availability zones - * denoting the IP allocated for the resource needs to come from. - * @property {array} [applicationSecurityGroups] Application security groups in - * which the IP configuration is included. - * @property {string} [provisioningState] The provisioning state of the network - * interface IP configuration. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. */ export interface NetworkInterfaceIPConfiguration extends SubResource { + /** + * The reference to Virtual Network Taps. + */ virtualNetworkTaps?: VirtualNetworkTap[]; + /** + * The reference of ApplicationGatewayBackendAddressPool resource. + */ applicationGatewayBackendAddressPools?: ApplicationGatewayBackendAddressPool[]; + /** + * The reference of LoadBalancerBackendAddressPool resource. + */ loadBalancerBackendAddressPools?: BackendAddressPool[]; + /** + * A list of references of LoadBalancerInboundNatRules. + */ loadBalancerInboundNatRules?: InboundNatRule[]; + /** + * Private IP address of the IP configuration. + */ privateIPAddress?: string; + /** + * Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. + * Possible values include: 'Static', 'Dynamic' + */ privateIPAllocationMethod?: string; + /** + * Available from Api-Version 2016-03-30 onwards, it represents whether the specific + * ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and + * 'IPv6'. Possible values include: 'IPv4', 'IPv6' + */ privateIPAddressVersion?: string; + /** + * Subnet bound to the IP configuration. + */ subnet?: Subnet; + /** + * Gets whether this is a primary customer address on the network interface. + */ primary?: boolean; + /** + * Public IP address bound to the IP configuration. + */ publicIPAddress?: PublicIPAddress; + /** + * Application security groups in which the IP configuration is included. + */ applicationSecurityGroups?: ApplicationSecurityGroup[]; + /** + * The provisioning state of the network interface IP configuration. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayBackendAddress class. - * @constructor * Backend address of an application gateway. - * - * @property {string} [fqdn] Fully qualified domain name (FQDN). - * @property {string} [ipAddress] IP address */ export interface ApplicationGatewayBackendAddress { + /** + * Fully qualified domain name (FQDN). + */ fqdn?: string; + /** + * IP address + */ ipAddress?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayBackendAddressPool class. - * @constructor * Backend Address Pool of an application gateway. - * - * @property {array} [backendIPConfigurations] Collection of references to IPs - * defined in network interfaces. - * @property {array} [backendAddresses] Backend addresses - * @property {string} [provisioningState] Provisioning state of the backend - * address pool resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the backend address pool that is unique - * within an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. */ export interface ApplicationGatewayBackendAddressPool extends SubResource { + /** + * Collection of references to IPs defined in network interfaces. + */ backendIPConfigurations?: NetworkInterfaceIPConfiguration[]; + /** + * Backend addresses + */ backendAddresses?: ApplicationGatewayBackendAddress[]; + /** + * Provisioning state of the backend address pool resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the backend address pool that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayConnectionDraining class. - * @constructor - * Connection draining allows open connections to a backend server to be active - * for a specified time after the backend server got removed from the - * configuration. - * - * @property {boolean} enabled Whether connection draining is enabled or not. - * @property {number} drainTimeoutInSec The number of seconds connection - * draining is active. Acceptable values are from 1 second to 3600 seconds. + * Connection draining allows open connections to a backend server to be active for a specified + * time after the backend server got removed from the configuration. */ export interface ApplicationGatewayConnectionDraining { + /** + * Whether connection draining is enabled or not. + */ enabled: boolean; + /** + * The number of seconds connection draining is active. Acceptable values are from 1 second to + * 3600 seconds. + */ drainTimeoutInSec: number; } /** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHttpSettings class. - * @constructor * Backend address pool settings of an application gateway. - * - * @property {number} [port] The destination port on the backend. - * @property {string} [protocol] The protocol used to communicate with the - * backend. Possible values are 'Http' and 'Https'. Possible values include: - * 'Http', 'Https' - * @property {string} [cookieBasedAffinity] Cookie based affinity. Possible - * values include: 'Enabled', 'Disabled' - * @property {number} [requestTimeout] Request timeout in seconds. Application - * Gateway will fail the request if response is not received within - * RequestTimeout. Acceptable values are from 1 second to 86400 seconds. - * @property {object} [probe] Probe resource of an application gateway. - * @property {string} [probe.id] Resource ID. - * @property {array} [authenticationCertificates] Array of references to - * application gateway authentication certificates. - * @property {array} [trustedRootCertificates] Array of references to - * application gateway trusted root certificates. - * @property {object} [connectionDraining] Connection draining of the backend - * http settings resource. - * @property {boolean} [connectionDraining.enabled] Whether connection draining - * is enabled or not. - * @property {number} [connectionDraining.drainTimeoutInSec] The number of - * seconds connection draining is active. Acceptable values are from 1 second - * to 3600 seconds. - * @property {string} [hostName] Host header to be sent to the backend servers. - * @property {boolean} [pickHostNameFromBackendAddress] Whether to pick host - * header should be picked from the host name of the backend server. Default - * value is false. - * @property {string} [affinityCookieName] Cookie name to use for the affinity - * cookie. - * @property {boolean} [probeEnabled] Whether the probe is enabled. Default - * value is false. - * @property {string} [path] Path which should be used as a prefix for all HTTP - * requests. Null means no path will be prefixed. Default value is null. - * @property {string} [provisioningState] Provisioning state of the backend - * http settings resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the backend http settings that is unique - * within an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. */ export interface ApplicationGatewayBackendHttpSettings extends SubResource { + /** + * The destination port on the backend. + */ port?: number; + /** + * The protocol used to communicate with the backend. Possible values are 'Http' and 'Https'. + * Possible values include: 'Http', 'Https' + */ protocol?: string; + /** + * Cookie based affinity. Possible values include: 'Enabled', 'Disabled' + */ cookieBasedAffinity?: string; + /** + * Request timeout in seconds. Application Gateway will fail the request if response is not + * received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds. + */ requestTimeout?: number; + /** + * Probe resource of an application gateway. + */ probe?: SubResource; + /** + * Array of references to application gateway authentication certificates. + */ authenticationCertificates?: SubResource[]; + /** + * Array of references to application gateway trusted root certificates. + */ trustedRootCertificates?: SubResource[]; + /** + * Connection draining of the backend http settings resource. + */ connectionDraining?: ApplicationGatewayConnectionDraining; + /** + * Host header to be sent to the backend servers. + */ hostName?: string; + /** + * Whether to pick host header should be picked from the host name of the backend server. Default + * value is false. + */ pickHostNameFromBackendAddress?: boolean; + /** + * Cookie name to use for the affinity cookie. + */ affinityCookieName?: string; + /** + * Whether the probe is enabled. Default value is false. + */ probeEnabled?: boolean; + /** + * Path which should be used as a prefix for all HTTP requests. Null means no path will be + * prefixed. Default value is null. + */ path?: string; + /** + * Provisioning state of the backend http settings resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the backend http settings that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHealthServer class. - * @constructor * Application gateway backendhealth http settings. - * - * @property {string} [address] IP address or FQDN of backend server. - * @property {object} [ipConfiguration] Reference of IP configuration of - * backend server. - * @property {array} [ipConfiguration.virtualNetworkTaps] The reference to - * Virtual Network Taps. - * @property {array} [ipConfiguration.applicationGatewayBackendAddressPools] - * The reference of ApplicationGatewayBackendAddressPool resource. - * @property {array} [ipConfiguration.loadBalancerBackendAddressPools] The - * reference of LoadBalancerBackendAddressPool resource. - * @property {array} [ipConfiguration.loadBalancerInboundNatRules] A list of - * references of LoadBalancerInboundNatRules. - * @property {string} [ipConfiguration.privateIPAddress] Private IP address of - * the IP configuration. - * @property {string} [ipConfiguration.privateIPAllocationMethod] Defines how a - * private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. - * Possible values include: 'Static', 'Dynamic' - * @property {string} [ipConfiguration.privateIPAddressVersion] Available from - * Api-Version 2016-03-30 onwards, it represents whether the specific - * ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values - * are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' - * @property {object} [ipConfiguration.subnet] Subnet bound to the IP - * configuration. - * @property {string} [ipConfiguration.subnet.addressPrefix] The address prefix - * for the subnet. - * @property {array} [ipConfiguration.subnet.addressPrefixes] List of address - * prefixes for the subnet. - * @property {object} [ipConfiguration.subnet.networkSecurityGroup] The - * reference of the NetworkSecurityGroup resource. - * @property {array} - * [ipConfiguration.subnet.networkSecurityGroup.securityRules] A collection of - * security rules of the network security group. - * @property {array} - * [ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] The - * default security rules of network security group. - * @property {array} - * [ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] A collection - * of references to network interfaces. - * @property {array} [ipConfiguration.subnet.networkSecurityGroup.subnets] A - * collection of references to subnets. - * @property {string} - * [ipConfiguration.subnet.networkSecurityGroup.resourceGuid] The resource GUID - * property of the network security group resource. - * @property {string} - * [ipConfiguration.subnet.networkSecurityGroup.provisioningState] The - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.subnet.networkSecurityGroup.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {object} [ipConfiguration.subnet.routeTable] The reference of the - * RouteTable resource. - * @property {array} [ipConfiguration.subnet.routeTable.routes] Collection of - * routes contained within a route table. - * @property {array} [ipConfiguration.subnet.routeTable.subnets] A collection - * of references to subnets. - * @property {boolean} - * [ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] Gets or sets - * whether to disable the routes learned by BGP on that route table. True means - * disable. - * @property {string} [ipConfiguration.subnet.routeTable.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.subnet.routeTable.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * @property {array} [ipConfiguration.subnet.serviceEndpoints] An array of - * service endpoints. - * @property {array} [ipConfiguration.subnet.serviceEndpointPolicies] An array - * of service endpoint policies. - * @property {array} [ipConfiguration.subnet.interfaceEndpoints] An array of - * references to interface endpoints - * @property {array} [ipConfiguration.subnet.ipConfigurations] Gets an array of - * references to the network interface IP configurations using subnet. - * @property {array} [ipConfiguration.subnet.ipConfigurationProfiles] Array of - * IP configuration profiles which reference this subnet. - * @property {array} [ipConfiguration.subnet.resourceNavigationLinks] Gets an - * array of references to the external resources using subnet. - * @property {array} [ipConfiguration.subnet.serviceAssociationLinks] Gets an - * array of references to services injecting into this subnet. - * @property {array} [ipConfiguration.subnet.delegations] Gets an array of - * references to the delegations on the subnet. - * @property {string} [ipConfiguration.subnet.purpose] A read-only string - * identifying the intention of use for this subnet based on delegations and - * other user-defined properties. - * @property {string} [ipConfiguration.subnet.provisioningState] The - * provisioning state of the resource. - * @property {string} [ipConfiguration.subnet.name] The name of the resource - * that is unique within a resource group. This name can be used to access the - * resource. - * @property {string} [ipConfiguration.subnet.etag] A unique read-only string - * that changes whenever the resource is updated. - * @property {boolean} [ipConfiguration.primary] Gets whether this is a primary - * customer address on the network interface. - * @property {object} [ipConfiguration.publicIPAddress] Public IP address bound - * to the IP configuration. - * @property {object} [ipConfiguration.publicIPAddress.sku] The public IP - * address SKU. - * @property {string} [ipConfiguration.publicIPAddress.sku.name] Name of a - * public IP address SKU. Possible values include: 'Basic', 'Standard' - * @property {string} - * [ipConfiguration.publicIPAddress.publicIPAllocationMethod] The public IP - * allocation method. Possible values are: 'Static' and 'Dynamic'. Possible - * values include: 'Static', 'Dynamic' - * @property {string} [ipConfiguration.publicIPAddress.publicIPAddressVersion] - * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. - * Possible values include: 'IPv4', 'IPv6' - * @property {object} [ipConfiguration.publicIPAddress.ipConfiguration] The IP - * configuration associated with the public IP address. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.privateIPAddress] The - * private IP address of the IP configuration. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.privateIPAllocationMethod] - * The private IP allocation method. Possible values are 'Static' and - * 'Dynamic'. Possible values include: 'Static', 'Dynamic' - * @property {object} [ipConfiguration.publicIPAddress.ipConfiguration.subnet] - * The reference of the subnet resource. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefix] The - * address prefix for the subnet. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.addressPrefixes] - * List of address prefixes for the subnet. - * @property {object} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup] - * The reference of the NetworkSecurityGroup resource. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.securityRules] - * A collection of security rules of the network security group. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.defaultSecurityRules] - * The default security rules of network security group. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.networkInterfaces] - * A collection of references to network interfaces. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.subnets] - * A collection of references to subnets. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.resourceGuid] - * The resource GUID property of the network security group resource. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.provisioningState] - * The provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.networkSecurityGroup.etag] - * A unique read-only string that changes whenever the resource is updated. - * @property {object} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable] The - * reference of the RouteTable resource. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.routes] - * Collection of routes contained within a route table. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.subnets] - * A collection of references to subnets. - * @property {boolean} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.disableBgpRoutePropagation] - * Gets or sets whether to disable the routes learned by BGP on that route - * table. True means disable. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.provisioningState] - * The provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.routeTable.etag] - * Gets a unique read-only string that changes whenever the resource is - * updated. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpoints] An - * array of service endpoints. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceEndpointPolicies] - * An array of service endpoint policies. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.interfaceEndpoints] - * An array of references to interface endpoints - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurations] - * Gets an array of references to the network interface IP configurations using - * subnet. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.ipConfigurationProfiles] - * Array of IP configuration profiles which reference this subnet. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.resourceNavigationLinks] - * Gets an array of references to the external resources using subnet. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.serviceAssociationLinks] - * Gets an array of references to services injecting into this subnet. - * @property {array} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.delegations] Gets an - * array of references to the delegations on the subnet. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.purpose] A read-only - * string identifying the intention of use for this subnet based on delegations - * and other user-defined properties. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.provisioningState] - * The provisioning state of the resource. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.name] The name of - * the resource that is unique within a resource group. This name can be used - * to access the resource. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.subnet.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} - * [ipConfiguration.publicIPAddress.ipConfiguration.publicIPAddress] The - * reference of the public IP resource. - * @property {string} - * [ipConfiguration.publicIPAddress.ipConfiguration.provisioningState] Gets the - * provisioning state of the public IP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.publicIPAddress.ipConfiguration.name] - * The name of the resource that is unique within a resource group. This name - * can be used to access the resource. - * @property {string} [ipConfiguration.publicIPAddress.ipConfiguration.etag] A - * unique read-only string that changes whenever the resource is updated. - * @property {object} [ipConfiguration.publicIPAddress.dnsSettings] The FQDN of - * the DNS record associated with the public IP address. - * @property {string} - * [ipConfiguration.publicIPAddress.dnsSettings.domainNameLabel] Gets or sets - * the Domain name label.The concatenation of the domain name label and the - * regionalized DNS zone make up the fully qualified domain name associated - * with the public IP address. If a domain name label is specified, an A DNS - * record is created for the public IP in the Microsoft Azure DNS system. - * @property {string} [ipConfiguration.publicIPAddress.dnsSettings.fqdn] Gets - * the FQDN, Fully qualified domain name of the A DNS record associated with - * the public IP. This is the concatenation of the domainNameLabel and the - * regionalized DNS zone. - * @property {string} [ipConfiguration.publicIPAddress.dnsSettings.reverseFqdn] - * Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name - * that resolves to this public IP address. If the reverseFqdn is specified, - * then a PTR DNS record is created pointing from the IP address in the - * in-addr.arpa domain to the reverse FQDN. - * @property {array} [ipConfiguration.publicIPAddress.ipTags] The list of tags - * associated with the public IP address. - * @property {string} [ipConfiguration.publicIPAddress.ipAddress] The IP - * address associated with the public IP address resource. - * @property {object} [ipConfiguration.publicIPAddress.publicIPPrefix] The - * Public IP Prefix this Public IP Address should be allocated from. - * @property {string} [ipConfiguration.publicIPAddress.publicIPPrefix.id] - * Resource ID. - * @property {number} [ipConfiguration.publicIPAddress.idleTimeoutInMinutes] - * The idle timeout of the public IP address. - * @property {string} [ipConfiguration.publicIPAddress.resourceGuid] The - * resource GUID property of the public IP resource. - * @property {string} [ipConfiguration.publicIPAddress.provisioningState] The - * provisioning state of the PublicIP resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.publicIPAddress.etag] A unique read-only - * string that changes whenever the resource is updated. - * @property {array} [ipConfiguration.publicIPAddress.zones] A list of - * availability zones denoting the IP allocated for the resource needs to come - * from. - * @property {array} [ipConfiguration.applicationSecurityGroups] Application - * security groups in which the IP configuration is included. - * @property {string} [ipConfiguration.provisioningState] The provisioning - * state of the network interface IP configuration. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [ipConfiguration.name] The name of the resource that is - * unique within a resource group. This name can be used to access the - * resource. - * @property {string} [ipConfiguration.etag] A unique read-only string that - * changes whenever the resource is updated. - * @property {string} [health] Health of backend server. Possible values - * include: 'Unknown', 'Up', 'Down', 'Partial', 'Draining' */ export interface ApplicationGatewayBackendHealthServer { + /** + * IP address or FQDN of backend server. + */ address?: string; + /** + * Reference of IP configuration of backend server. + */ ipConfiguration?: NetworkInterfaceIPConfiguration; + /** + * Health of backend server. Possible values include: 'Unknown', 'Up', 'Down', 'Partial', + * 'Draining' + */ health?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHealthHttpSettings class. - * @constructor * Application gateway BackendHealthHttp settings. - * - * @property {object} [backendHttpSettings] Reference of an - * ApplicationGatewayBackendHttpSettings resource. - * @property {number} [backendHttpSettings.port] The destination port on the - * backend. - * @property {string} [backendHttpSettings.protocol] The protocol used to - * communicate with the backend. Possible values are 'Http' and 'Https'. - * Possible values include: 'Http', 'Https' - * @property {string} [backendHttpSettings.cookieBasedAffinity] Cookie based - * affinity. Possible values include: 'Enabled', 'Disabled' - * @property {number} [backendHttpSettings.requestTimeout] Request timeout in - * seconds. Application Gateway will fail the request if response is not - * received within RequestTimeout. Acceptable values are from 1 second to 86400 - * seconds. - * @property {object} [backendHttpSettings.probe] Probe resource of an - * application gateway. - * @property {string} [backendHttpSettings.probe.id] Resource ID. - * @property {array} [backendHttpSettings.authenticationCertificates] Array of - * references to application gateway authentication certificates. - * @property {array} [backendHttpSettings.trustedRootCertificates] Array of - * references to application gateway trusted root certificates. - * @property {object} [backendHttpSettings.connectionDraining] Connection - * draining of the backend http settings resource. - * @property {boolean} [backendHttpSettings.connectionDraining.enabled] Whether - * connection draining is enabled or not. - * @property {number} - * [backendHttpSettings.connectionDraining.drainTimeoutInSec] The number of - * seconds connection draining is active. Acceptable values are from 1 second - * to 3600 seconds. - * @property {string} [backendHttpSettings.hostName] Host header to be sent to - * the backend servers. - * @property {boolean} [backendHttpSettings.pickHostNameFromBackendAddress] - * Whether to pick host header should be picked from the host name of the - * backend server. Default value is false. - * @property {string} [backendHttpSettings.affinityCookieName] Cookie name to - * use for the affinity cookie. - * @property {boolean} [backendHttpSettings.probeEnabled] Whether the probe is - * enabled. Default value is false. - * @property {string} [backendHttpSettings.path] Path which should be used as a - * prefix for all HTTP requests. Null means no path will be prefixed. Default - * value is null. - * @property {string} [backendHttpSettings.provisioningState] Provisioning - * state of the backend http settings resource. Possible values are: - * 'Updating', 'Deleting', and 'Failed'. - * @property {string} [backendHttpSettings.name] Name of the backend http - * settings that is unique within an Application Gateway. - * @property {string} [backendHttpSettings.etag] A unique read-only string that - * changes whenever the resource is updated. - * @property {string} [backendHttpSettings.type] Type of the resource. - * @property {array} [servers] List of ApplicationGatewayBackendHealthServer - * resources. */ export interface ApplicationGatewayBackendHealthHttpSettings { + /** + * Reference of an ApplicationGatewayBackendHttpSettings resource. + */ backendHttpSettings?: ApplicationGatewayBackendHttpSettings; + /** + * List of ApplicationGatewayBackendHealthServer resources. + */ servers?: ApplicationGatewayBackendHealthServer[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHealthPool class. - * @constructor * Application gateway BackendHealth pool. - * - * @property {object} [backendAddressPool] Reference of an - * ApplicationGatewayBackendAddressPool resource. - * @property {array} [backendAddressPool.backendIPConfigurations] Collection of - * references to IPs defined in network interfaces. - * @property {array} [backendAddressPool.backendAddresses] Backend addresses - * @property {string} [backendAddressPool.provisioningState] Provisioning state - * of the backend address pool resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [backendAddressPool.name] Name of the backend address - * pool that is unique within an Application Gateway. - * @property {string} [backendAddressPool.etag] A unique read-only string that - * changes whenever the resource is updated. - * @property {string} [backendAddressPool.type] Type of the resource. - * @property {array} [backendHttpSettingsCollection] List of - * ApplicationGatewayBackendHealthHttpSettings resources. */ export interface ApplicationGatewayBackendHealthPool { + /** + * Reference of an ApplicationGatewayBackendAddressPool resource. + */ backendAddressPool?: ApplicationGatewayBackendAddressPool; + /** + * List of ApplicationGatewayBackendHealthHttpSettings resources. + */ backendHttpSettingsCollection?: ApplicationGatewayBackendHealthHttpSettings[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayBackendHealth class. - * @constructor * List of ApplicationGatewayBackendHealthPool resources. - * - * @property {array} [backendAddressPools] */ export interface ApplicationGatewayBackendHealth { backendAddressPools?: ApplicationGatewayBackendHealthPool[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewaySku class. - * @constructor * SKU of an application gateway - * - * @property {string} [name] Name of an application gateway SKU. Possible - * values include: 'Standard_Small', 'Standard_Medium', 'Standard_Large', - * 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' - * @property {string} [tier] Tier of an application gateway. Possible values - * include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - * @property {number} [capacity] Capacity (instance count) of an application - * gateway. - */ +*/ export interface ApplicationGatewaySku { + /** + * Name of an application gateway SKU. Possible values include: 'Standard_Small', + * 'Standard_Medium', 'Standard_Large', 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' + */ name?: string; + /** + * Tier of an application gateway. Possible values include: 'Standard', 'WAF', 'Standard_v2', + * 'WAF_v2' + */ tier?: string; + /** + * Capacity (instance count) of an application gateway. + */ capacity?: number; } /** - * @class - * Initializes a new instance of the ApplicationGatewaySslPolicy class. - * @constructor * Application Gateway Ssl policy. - * - * @property {array} [disabledSslProtocols] Ssl protocols to be disabled on - * application gateway. - * @property {string} [policyType] Type of Ssl Policy. Possible values include: - * 'Predefined', 'Custom' - * @property {string} [policyName] Name of Ssl predefined policy. Possible - * values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - * 'AppGwSslPolicy20170401S' - * @property {array} [cipherSuites] Ssl cipher suites to be enabled in the - * specified order to application gateway. - * @property {string} [minProtocolVersion] Minimum version of Ssl protocol to - * be supported on application gateway. Possible values include: 'TLSv1_0', - * 'TLSv1_1', 'TLSv1_2' - */ +*/ export interface ApplicationGatewaySslPolicy { + /** + * Ssl protocols to be disabled on application gateway. + */ disabledSslProtocols?: string[]; + /** + * Type of Ssl Policy. Possible values include: 'Predefined', 'Custom' + */ policyType?: string; + /** + * Name of Ssl predefined policy. Possible values include: 'AppGwSslPolicy20150501', + * 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + */ policyName?: string; + /** + * Ssl cipher suites to be enabled in the specified order to application gateway. + */ cipherSuites?: string[]; + /** + * Minimum version of Ssl protocol to be supported on application gateway. Possible values + * include: 'TLSv1_0', 'TLSv1_1', 'TLSv1_2' + */ minProtocolVersion?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayIPConfiguration class. - * @constructor - * IP configuration of an application gateway. Currently 1 public and 1 private - * IP configuration is allowed. - * - * @property {object} [subnet] Reference of the subnet resource. A subnet from - * where application gateway gets its private address. - * @property {string} [subnet.id] Resource ID. - * @property {string} [provisioningState] Provisioning state of the application - * gateway subnet resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the IP configuration that is unique within - * an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ + * IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is + * allowed. +*/ export interface ApplicationGatewayIPConfiguration extends SubResource { + /** + * Reference of the subnet resource. A subnet from where application gateway gets its private + * address. + */ subnet?: SubResource; + /** + * Provisioning state of the application gateway subnet resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the IP configuration that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayAuthenticationCertificate class. - * @constructor * Authentication certificates of an application gateway. - * - * @property {string} [data] Certificate public data. - * @property {string} [provisioningState] Provisioning state of the - * authentication certificate resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [name] Name of the authentication certificate that is - * unique within an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayAuthenticationCertificate extends SubResource { + /** + * Certificate public data. + */ data?: string; + /** + * Provisioning state of the authentication certificate resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the authentication certificate that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayTrustedRootCertificate class. - * @constructor * Trusted Root certificates of an application gateway. - * - * @property {string} [data] Certificate public data. - * @property {string} [keyVaultSecretId] Secret Id of (base-64 encoded - * unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. - * @property {string} [provisioningState] Provisioning state of the trusted - * root certificate resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the trusted root certificate that is - * unique within an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayTrustedRootCertificate extends SubResource { + /** + * Certificate public data. + */ data?: string; + /** + * Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in + * KeyVault. + */ keyVaultSecretId?: string; + /** + * Provisioning state of the trusted root certificate resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the trusted root certificate that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewaySslCertificate class. - * @constructor * SSL certificates of an application gateway. - * - * @property {string} [data] Base-64 encoded pfx certificate. Only applicable - * in PUT Request. - * @property {string} [password] Password for the pfx file specified in data. - * Only applicable in PUT request. - * @property {string} [publicCertData] Base-64 encoded Public cert data - * corresponding to pfx specified in data. Only applicable in GET request. - * @property {string} [keyVaultSecretId] Secret Id of (base-64 encoded - * unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. - * @property {string} [provisioningState] Provisioning state of the SSL - * certificate resource Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the SSL certificate that is unique within - * an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewaySslCertificate extends SubResource { + /** + * Base-64 encoded pfx certificate. Only applicable in PUT Request. + */ data?: string; + /** + * Password for the pfx file specified in data. Only applicable in PUT request. + */ password?: string; + /** + * Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in + * GET request. + */ publicCertData?: string; + /** + * Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in + * KeyVault. + */ keyVaultSecretId?: string; + /** + * Provisioning state of the SSL certificate resource Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the SSL certificate that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayFrontendIPConfiguration class. - * @constructor * Frontend IP configuration of an application gateway. - * - * @property {string} [privateIPAddress] PrivateIPAddress of the network - * interface IP Configuration. - * @property {string} [privateIPAllocationMethod] PrivateIP allocation method. - * Possible values include: 'Static', 'Dynamic' - * @property {object} [subnet] Reference of the subnet resource. - * @property {string} [subnet.id] Resource ID. - * @property {object} [publicIPAddress] Reference of the PublicIP resource. - * @property {string} [publicIPAddress.id] Resource ID. - * @property {string} [provisioningState] Provisioning state of the public IP - * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] Name of the frontend IP configuration that is - * unique within an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayFrontendIPConfiguration extends SubResource { + /** + * PrivateIPAddress of the network interface IP Configuration. + */ privateIPAddress?: string; + /** + * PrivateIP allocation method. Possible values include: 'Static', 'Dynamic' + */ privateIPAllocationMethod?: string; + /** + * Reference of the subnet resource. + */ subnet?: SubResource; + /** + * Reference of the PublicIP resource. + */ publicIPAddress?: SubResource; + /** + * Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and + * 'Failed'. + */ provisioningState?: string; + /** + * Name of the frontend IP configuration that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayFrontendPort class. - * @constructor * Frontend port of an application gateway. - * - * @property {number} [port] Frontend port - * @property {string} [provisioningState] Provisioning state of the frontend - * port resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] Name of the frontend port that is unique within an - * Application Gateway - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayFrontendPort extends SubResource { + /** + * Frontend port + */ port?: number; + /** + * Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * Name of the frontend port that is unique within an Application Gateway + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayCustomError class. - * @constructor * Customer error of an application gateway. - * - * @property {string} [statusCode] Status code of the application gateway - * customer error. Possible values include: 'HttpStatus403', 'HttpStatus502' - * @property {string} [customErrorPageUrl] Error page URL of the application - * gateway customer error. - */ +*/ export interface ApplicationGatewayCustomError { + /** + * Status code of the application gateway customer error. Possible values include: + * 'HttpStatus403', 'HttpStatus502' + */ statusCode?: string; + /** + * Error page URL of the application gateway customer error. + */ customErrorPageUrl?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayHttpListener class. - * @constructor * Http listener of an application gateway. - * - * @property {object} [frontendIPConfiguration] Frontend IP configuration - * resource of an application gateway. - * @property {string} [frontendIPConfiguration.id] Resource ID. - * @property {object} [frontendPort] Frontend port resource of an application - * gateway. - * @property {string} [frontendPort.id] Resource ID. - * @property {string} [protocol] Protocol of the HTTP listener. Possible values - * are 'Http' and 'Https'. Possible values include: 'Http', 'Https' - * @property {string} [hostName] Host name of HTTP listener. - * @property {object} [sslCertificate] SSL certificate resource of an - * application gateway. - * @property {string} [sslCertificate.id] Resource ID. - * @property {boolean} [requireServerNameIndication] Applicable only if - * protocol is https. Enables SNI for multi-hosting. - * @property {string} [provisioningState] Provisioning state of the HTTP - * listener resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {array} [customErrorConfigurations] Custom error configurations of - * the HTTP listener. - * @property {string} [name] Name of the HTTP listener that is unique within an - * Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayHttpListener extends SubResource { + /** + * Frontend IP configuration resource of an application gateway. + */ frontendIPConfiguration?: SubResource; + /** + * Frontend port resource of an application gateway. + */ frontendPort?: SubResource; + /** + * Protocol of the HTTP listener. Possible values are 'Http' and 'Https'. Possible values + * include: 'Http', 'Https' + */ protocol?: string; + /** + * Host name of HTTP listener. + */ hostName?: string; + /** + * SSL certificate resource of an application gateway. + */ sslCertificate?: SubResource; + /** + * Applicable only if protocol is https. Enables SNI for multi-hosting. + */ requireServerNameIndication?: boolean; + /** + * Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * Custom error configurations of the HTTP listener. + */ customErrorConfigurations?: ApplicationGatewayCustomError[]; + /** + * Name of the HTTP listener that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayPathRule class. - * @constructor * Path rule of URL path map of an application gateway. - * - * @property {array} [paths] Path rules of URL path map. - * @property {object} [backendAddressPool] Backend address pool resource of URL - * path map path rule. - * @property {string} [backendAddressPool.id] Resource ID. - * @property {object} [backendHttpSettings] Backend http settings resource of - * URL path map path rule. - * @property {string} [backendHttpSettings.id] Resource ID. - * @property {object} [redirectConfiguration] Redirect configuration resource - * of URL path map path rule. - * @property {string} [redirectConfiguration.id] Resource ID. - * @property {object} [rewriteRuleSet] Rewrite rule set resource of URL path - * map path rule. - * @property {string} [rewriteRuleSet.id] Resource ID. - * @property {string} [provisioningState] Path rule of URL path map resource. - * Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] Name of the path rule that is unique within an - * Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayPathRule extends SubResource { + /** + * Path rules of URL path map. + */ paths?: string[]; + /** + * Backend address pool resource of URL path map path rule. + */ backendAddressPool?: SubResource; + /** + * Backend http settings resource of URL path map path rule. + */ backendHttpSettings?: SubResource; + /** + * Redirect configuration resource of URL path map path rule. + */ redirectConfiguration?: SubResource; + /** + * Rewrite rule set resource of URL path map path rule. + */ rewriteRuleSet?: SubResource; + /** + * Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the path rule that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayProbeHealthResponseMatch class. - * @constructor * Application gateway probe health response match - * - * @property {string} [body] Body that must be contained in the health - * response. Default value is empty. - * @property {array} [statusCodes] Allowed ranges of healthy status codes. - * Default range of healthy status codes is 200-399. - */ +*/ export interface ApplicationGatewayProbeHealthResponseMatch { + /** + * Body that must be contained in the health response. Default value is empty. + */ body?: string; + /** + * Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399. + */ statusCodes?: string[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayProbe class. - * @constructor * Probe of the application gateway. - * - * @property {string} [protocol] The protocol used for the probe. Possible - * values are 'Http' and 'Https'. Possible values include: 'Http', 'Https' - * @property {string} [host] Host name to send the probe to. - * @property {string} [path] Relative path of probe. Valid path starts from - * '/'. Probe is sent to ://: - * @property {number} [interval] The probing interval in seconds. This is the - * time interval between two consecutive probes. Acceptable values are from 1 - * second to 86400 seconds. - * @property {number} [timeout] the probe timeout in seconds. Probe marked as - * failed if valid response is not received with this timeout period. - * Acceptable values are from 1 second to 86400 seconds. - * @property {number} [unhealthyThreshold] The probe retry count. Backend - * server is marked down after consecutive probe failure count reaches - * UnhealthyThreshold. Acceptable values are from 1 second to 20. - * @property {boolean} [pickHostNameFromBackendHttpSettings] Whether the host - * header should be picked from the backend http settings. Default value is - * false. - * @property {number} [minServers] Minimum number of servers that are always - * marked healthy. Default value is 0. - * @property {object} [match] Criterion for classifying a healthy probe - * response. - * @property {string} [match.body] Body that must be contained in the health - * response. Default value is empty. - * @property {array} [match.statusCodes] Allowed ranges of healthy status - * codes. Default range of healthy status codes is 200-399. - * @property {string} [provisioningState] Provisioning state of the backend - * http settings resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the probe that is unique within an - * Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayProbe extends SubResource { + /** + * The protocol used for the probe. Possible values are 'Http' and 'Https'. Possible values + * include: 'Http', 'Https' + */ protocol?: string; + /** + * Host name to send the probe to. + */ host?: string; + /** + * Relative path of probe. Valid path starts from '/'. Probe is sent to + * ://: + */ path?: string; + /** + * The probing interval in seconds. This is the time interval between two consecutive probes. + * Acceptable values are from 1 second to 86400 seconds. + */ interval?: number; + /** + * the probe timeout in seconds. Probe marked as failed if valid response is not received with + * this timeout period. Acceptable values are from 1 second to 86400 seconds. + */ timeout?: number; + /** + * The probe retry count. Backend server is marked down after consecutive probe failure count + * reaches UnhealthyThreshold. Acceptable values are from 1 second to 20. + */ unhealthyThreshold?: number; + /** + * Whether the host header should be picked from the backend http settings. Default value is + * false. + */ pickHostNameFromBackendHttpSettings?: boolean; + /** + * Minimum number of servers that are always marked healthy. Default value is 0. + */ minServers?: number; + /** + * Criterion for classifying a healthy probe response. + */ match?: ApplicationGatewayProbeHealthResponseMatch; + /** + * Provisioning state of the backend http settings resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the probe that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayRequestRoutingRule class. - * @constructor * Request routing rule of an application gateway. - * - * @property {string} [ruleType] Rule type. Possible values include: 'Basic', - * 'PathBasedRouting' - * @property {object} [backendAddressPool] Backend address pool resource of the - * application gateway. - * @property {string} [backendAddressPool.id] Resource ID. - * @property {object} [backendHttpSettings] Backend http settings resource of - * the application gateway. - * @property {string} [backendHttpSettings.id] Resource ID. - * @property {object} [httpListener] Http listener resource of the application - * gateway. - * @property {string} [httpListener.id] Resource ID. - * @property {object} [urlPathMap] URL path map resource of the application - * gateway. - * @property {string} [urlPathMap.id] Resource ID. - * @property {object} [rewriteRuleSet] Rewrite Rule Set resource in Basic rule - * of the application gateway. - * @property {string} [rewriteRuleSet.id] Resource ID. - * @property {object} [redirectConfiguration] Redirect configuration resource - * of the application gateway. - * @property {string} [redirectConfiguration.id] Resource ID. - * @property {string} [provisioningState] Provisioning state of the request - * routing rule resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the request routing rule that is unique - * within an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayRequestRoutingRule extends SubResource { + /** + * Rule type. Possible values include: 'Basic', 'PathBasedRouting' + */ ruleType?: string; + /** + * Backend address pool resource of the application gateway. + */ backendAddressPool?: SubResource; + /** + * Backend http settings resource of the application gateway. + */ backendHttpSettings?: SubResource; + /** + * Http listener resource of the application gateway. + */ httpListener?: SubResource; + /** + * URL path map resource of the application gateway. + */ urlPathMap?: SubResource; + /** + * Rewrite Rule Set resource in Basic rule of the application gateway. + */ rewriteRuleSet?: SubResource; + /** + * Redirect configuration resource of the application gateway. + */ redirectConfiguration?: SubResource; + /** + * Provisioning state of the request routing rule resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the request routing rule that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayHeaderConfiguration class. - * @constructor * Header configuration of the Actions set in Application Gateway. - * - * @property {string} [headerName] Header name of the header configuration - * @property {string} [headerValue] Header value of the header configuration - */ +*/ export interface ApplicationGatewayHeaderConfiguration { + /** + * Header name of the header configuration + */ headerName?: string; + /** + * Header value of the header configuration + */ headerValue?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayRewriteRuleActionSet class. - * @constructor * Set of actions in the Rewrite Rule in Application Gateway. - * - * @property {array} [requestHeaderConfigurations] Request Header Actions in - * the Action Set - * @property {array} [responseHeaderConfigurations] Response Header Actions in - * the Action Set - */ +*/ export interface ApplicationGatewayRewriteRuleActionSet { + /** + * Request Header Actions in the Action Set + */ requestHeaderConfigurations?: ApplicationGatewayHeaderConfiguration[]; + /** + * Response Header Actions in the Action Set + */ responseHeaderConfigurations?: ApplicationGatewayHeaderConfiguration[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayRewriteRule class. - * @constructor * Rewrite rule of an application gateway. - * - * @property {string} [name] Name of the rewrite rule that is unique within an - * Application Gateway. - * @property {object} [actionSet] Set of actions to be done as part of the - * rewrite Rule. - * @property {array} [actionSet.requestHeaderConfigurations] Request Header - * Actions in the Action Set - * @property {array} [actionSet.responseHeaderConfigurations] Response Header - * Actions in the Action Set - */ +*/ export interface ApplicationGatewayRewriteRule { + /** + * Name of the rewrite rule that is unique within an Application Gateway. + */ name?: string; + /** + * Set of actions to be done as part of the rewrite Rule. + */ actionSet?: ApplicationGatewayRewriteRuleActionSet; } /** - * @class - * Initializes a new instance of the ApplicationGatewayRewriteRuleSet class. - * @constructor * Rewrite rule set of an application gateway. - * - * @property {array} [rewriteRules] Rewrite rules in the rewrite rule set. - * @property {string} [provisioningState] Provisioning state of the rewrite - * rule set resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the rewrite rule set that is unique within - * an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ApplicationGatewayRewriteRuleSet extends SubResource { + /** + * Rewrite rules in the rewrite rule set. + */ rewriteRules?: ApplicationGatewayRewriteRule[]; + /** + * Provisioning state of the rewrite rule set resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * Name of the rewrite rule set that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayRedirectConfiguration class. - * @constructor * Redirect configuration of an application gateway. - * - * @property {string} [redirectType] Supported http redirection types - - * Permanent, Temporary, Found, SeeOther. Possible values include: 'Permanent', - * 'Found', 'SeeOther', 'Temporary' - * @property {object} [targetListener] Reference to a listener to redirect the - * request to. - * @property {string} [targetListener.id] Resource ID. - * @property {string} [targetUrl] Url to redirect the request to. - * @property {boolean} [includePath] Include path in the redirected url. - * @property {boolean} [includeQueryString] Include query string in the - * redirected url. - * @property {array} [requestRoutingRules] Request routing specifying redirect - * configuration. - * @property {array} [urlPathMaps] Url path maps specifying default redirect - * configuration. - * @property {array} [pathRules] Path rules specifying redirect configuration. - * @property {string} [name] Name of the redirect configuration that is unique - * within an Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ +*/ export interface ApplicationGatewayRedirectConfiguration extends SubResource { + /** + * Supported http redirection types - Permanent, Temporary, Found, SeeOther. Possible values + * include: 'Permanent', 'Found', 'SeeOther', 'Temporary' + */ redirectType?: string; + /** + * Reference to a listener to redirect the request to. + */ targetListener?: SubResource; + /** + * Url to redirect the request to. + */ targetUrl?: string; + /** + * Include path in the redirected url. + */ includePath?: boolean; + /** + * Include query string in the redirected url. + */ includeQueryString?: boolean; + /** + * Request routing specifying redirect configuration. + */ requestRoutingRules?: SubResource[]; + /** + * Url path maps specifying default redirect configuration. + */ urlPathMaps?: SubResource[]; + /** + * Path rules specifying redirect configuration. + */ pathRules?: SubResource[]; + /** + * Name of the redirect configuration that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayUrlPathMap class. - * @constructor - * UrlPathMaps give a url path to the backend mapping information for - * PathBasedRouting. - * - * @property {object} [defaultBackendAddressPool] Default backend address pool - * resource of URL path map. - * @property {string} [defaultBackendAddressPool.id] Resource ID. - * @property {object} [defaultBackendHttpSettings] Default backend http - * settings resource of URL path map. - * @property {string} [defaultBackendHttpSettings.id] Resource ID. - * @property {object} [defaultRewriteRuleSet] Default Rewrite rule set resource - * of URL path map. - * @property {string} [defaultRewriteRuleSet.id] Resource ID. - * @property {object} [defaultRedirectConfiguration] Default redirect - * configuration resource of URL path map. - * @property {string} [defaultRedirectConfiguration.id] Resource ID. - * @property {array} [pathRules] Path rule of URL path map resource. - * @property {string} [provisioningState] Provisioning state of the backend - * http settings resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Name of the URL path map that is unique within an - * Application Gateway. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Type of the resource. - */ + * UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. +*/ export interface ApplicationGatewayUrlPathMap extends SubResource { + /** + * Default backend address pool resource of URL path map. + */ defaultBackendAddressPool?: SubResource; + /** + * Default backend http settings resource of URL path map. + */ defaultBackendHttpSettings?: SubResource; + /** + * Default Rewrite rule set resource of URL path map. + */ defaultRewriteRuleSet?: SubResource; + /** + * Default redirect configuration resource of URL path map. + */ defaultRedirectConfiguration?: SubResource; + /** + * Path rule of URL path map resource. + */ pathRules?: ApplicationGatewayPathRule[]; + /** + * Provisioning state of the backend http settings resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Name of the URL path map that is unique within an Application Gateway. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * Type of the resource. + */ type?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayFirewallDisabledRuleGroup class. - * @constructor * Allows to disable rules within a rule group or an entire rule group. - * - * @property {string} ruleGroupName The name of the rule group that will be - * disabled. - * @property {array} [rules] The list of rules that will be disabled. If null, - * all rules of the rule group will be disabled. - */ +*/ export interface ApplicationGatewayFirewallDisabledRuleGroup { + /** + * The name of the rule group that will be disabled. + */ ruleGroupName: string; + /** + * The list of rules that will be disabled. If null, all rules of the rule group will be + * disabled. + */ rules?: number[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayFirewallExclusion class. - * @constructor * Allow to exclude some variable satisfy the condition for the WAF check - * - * @property {string} matchVariable The variable to be excluded. - * @property {string} selectorMatchOperator When matchVariable is a collection, - * operate on the selector to specify which elements in the collection this - * exclusion applies to. - * @property {string} selector When matchVariable is a collection, operator - * used to specify which elements in the collection this exclusion applies to. - */ +*/ export interface ApplicationGatewayFirewallExclusion { + /** + * The variable to be excluded. + */ matchVariable: string; + /** + * When matchVariable is a collection, operate on the selector to specify which elements in the + * collection this exclusion applies to. + */ selectorMatchOperator: string; + /** + * When matchVariable is a collection, operator used to specify which elements in the collection + * this exclusion applies to. + */ selector: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayWebApplicationFirewallConfiguration class. - * @constructor * Application gateway web application firewall configuration. - * - * @property {boolean} enabled Whether the web application firewall is enabled - * or not. - * @property {string} firewallMode Web application firewall mode. Possible - * values include: 'Detection', 'Prevention' - * @property {string} ruleSetType The type of the web application firewall rule - * set. Possible values are: 'OWASP'. - * @property {string} ruleSetVersion The version of the rule set type. - * @property {array} [disabledRuleGroups] The disabled rule groups. - * @property {boolean} [requestBodyCheck] Whether allow WAF to check request - * Body. - * @property {number} [maxRequestBodySize] Maxium request body size for WAF. - * @property {number} [maxRequestBodySizeInKb] Maxium request body size in Kb - * for WAF. - * @property {number} [fileUploadLimitInMb] Maxium file upload size in Mb for - * WAF. - * @property {array} [exclusions] The exclusion list. - */ +*/ export interface ApplicationGatewayWebApplicationFirewallConfiguration { + /** + * Whether the web application firewall is enabled or not. + */ enabled: boolean; + /** + * Web application firewall mode. Possible values include: 'Detection', 'Prevention' + */ firewallMode: string; + /** + * The type of the web application firewall rule set. Possible values are: 'OWASP'. + */ ruleSetType: string; + /** + * The version of the rule set type. + */ ruleSetVersion: string; + /** + * The disabled rule groups. + */ disabledRuleGroups?: ApplicationGatewayFirewallDisabledRuleGroup[]; + /** + * Whether allow WAF to check request Body. + */ requestBodyCheck?: boolean; + /** + * Maxium request body size for WAF. + */ maxRequestBodySize?: number; + /** + * Maxium request body size in Kb for WAF. + */ maxRequestBodySizeInKb?: number; + /** + * Maxium file upload size in Mb for WAF. + */ fileUploadLimitInMb?: number; + /** + * The exclusion list. + */ exclusions?: ApplicationGatewayFirewallExclusion[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayAutoscaleConfiguration class. - * @constructor * Application Gateway autoscale configuration. - * - * @property {number} minCapacity Lower bound on number of Application Gateway - * instances - */ +*/ export interface ApplicationGatewayAutoscaleConfiguration { + /** + * Lower bound on number of Application Gateway instances + */ minCapacity: number; } -/** - * @class - * Initializes a new instance of the ManagedServiceIdentityUserAssignedIdentitiesValue class. - * @constructor - * @property {string} [principalId] The principal id of user assigned identity. - * @property {string} [clientId] The client id of user assigned identity. - */ export interface ManagedServiceIdentityUserAssignedIdentitiesValue { + /** + * The principal id of user assigned identity. + */ readonly principalId?: string; + /** + * The client id of user assigned identity. + */ readonly clientId?: string; } /** - * @class - * Initializes a new instance of the ManagedServiceIdentity class. - * @constructor * Identity for the resource. - * - * @property {string} [principalId] The principal id of the system assigned - * identity. This property will only be provided for a system assigned - * identity. - * @property {string} [tenantId] The tenant id of the system assigned identity. - * This property will only be provided for a system assigned identity. - * @property {string} [type] The type of identity used for the resource. The - * type 'SystemAssigned, UserAssigned' includes both an implicitly created - * identity and a set of user assigned identities. The type 'None' will remove - * any identities from the virtual machine. Possible values include: - * 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' - * @property {object} [userAssignedIdentities] The list of user identities - * associated with resource. The user identity dictionary key references will - * be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ +*/ export interface ManagedServiceIdentity { + /** + * The principal id of the system assigned identity. This property will only be provided for a + * system assigned identity. + */ readonly principalId?: string; + /** + * The tenant id of the system assigned identity. This property will only be provided for a + * system assigned identity. + */ readonly tenantId?: string; + /** + * The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes + * both an implicitly created identity and a set of user assigned identities. The type 'None' + * will remove any identities from the virtual machine. Possible values include: + * 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', 'None' + */ type?: string; - userAssignedIdentities?: { [propertyName: string]: ManagedServiceIdentityUserAssignedIdentitiesValue }; + /** + * The list of user identities associated with resource. The user identity dictionary key + * references will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: { [propertyName: string]: + ManagedServiceIdentityUserAssignedIdentitiesValue }; } /** - * @class - * Initializes a new instance of the ApplicationGateway class. - * @constructor * Application gateway resource - * - * @property {object} [sku] SKU of the application gateway resource. - * @property {string} [sku.name] Name of an application gateway SKU. Possible - * values include: 'Standard_Small', 'Standard_Medium', 'Standard_Large', - * 'WAF_Medium', 'WAF_Large', 'Standard_v2', 'WAF_v2' - * @property {string} [sku.tier] Tier of an application gateway. Possible - * values include: 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' - * @property {number} [sku.capacity] Capacity (instance count) of an - * application gateway. - * @property {object} [sslPolicy] SSL policy of the application gateway - * resource. - * @property {array} [sslPolicy.disabledSslProtocols] Ssl protocols to be - * disabled on application gateway. - * @property {string} [sslPolicy.policyType] Type of Ssl Policy. Possible - * values include: 'Predefined', 'Custom' - * @property {string} [sslPolicy.policyName] Name of Ssl predefined policy. - * Possible values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - * 'AppGwSslPolicy20170401S' - * @property {array} [sslPolicy.cipherSuites] Ssl cipher suites to be enabled - * in the specified order to application gateway. - * @property {string} [sslPolicy.minProtocolVersion] Minimum version of Ssl - * protocol to be supported on application gateway. Possible values include: - * 'TLSv1_0', 'TLSv1_1', 'TLSv1_2' - * @property {string} [operationalState] Operational state of the application - * gateway resource. Possible values include: 'Stopped', 'Starting', 'Running', - * 'Stopping' - * @property {array} [gatewayIPConfigurations] Subnets of application the - * gateway resource. - * @property {array} [authenticationCertificates] Authentication certificates - * of the application gateway resource. - * @property {array} [trustedRootCertificates] Trusted Root certificates of the - * application gateway resource. - * @property {array} [sslCertificates] SSL certificates of the application - * gateway resource. - * @property {array} [frontendIPConfigurations] Frontend IP addresses of the - * application gateway resource. - * @property {array} [frontendPorts] Frontend ports of the application gateway - * resource. - * @property {array} [probes] Probes of the application gateway resource. - * @property {array} [backendAddressPools] Backend address pool of the - * application gateway resource. - * @property {array} [backendHttpSettingsCollection] Backend http settings of - * the application gateway resource. - * @property {array} [httpListeners] Http listeners of the application gateway - * resource. - * @property {array} [urlPathMaps] URL path map of the application gateway - * resource. - * @property {array} [requestRoutingRules] Request routing rules of the - * application gateway resource. - * @property {array} [rewriteRuleSets] Rewrite rules for the application - * gateway resource. - * @property {array} [redirectConfigurations] Redirect configurations of the - * application gateway resource. - * @property {object} [webApplicationFirewallConfiguration] Web application - * firewall configuration. - * @property {boolean} [webApplicationFirewallConfiguration.enabled] Whether - * the web application firewall is enabled or not. - * @property {string} [webApplicationFirewallConfiguration.firewallMode] Web - * application firewall mode. Possible values include: 'Detection', - * 'Prevention' - * @property {string} [webApplicationFirewallConfiguration.ruleSetType] The - * type of the web application firewall rule set. Possible values are: 'OWASP'. - * @property {string} [webApplicationFirewallConfiguration.ruleSetVersion] The - * version of the rule set type. - * @property {array} [webApplicationFirewallConfiguration.disabledRuleGroups] - * The disabled rule groups. - * @property {boolean} [webApplicationFirewallConfiguration.requestBodyCheck] - * Whether allow WAF to check request Body. - * @property {number} [webApplicationFirewallConfiguration.maxRequestBodySize] - * Maxium request body size for WAF. - * @property {number} - * [webApplicationFirewallConfiguration.maxRequestBodySizeInKb] Maxium request - * body size in Kb for WAF. - * @property {number} [webApplicationFirewallConfiguration.fileUploadLimitInMb] - * Maxium file upload size in Mb for WAF. - * @property {array} [webApplicationFirewallConfiguration.exclusions] The - * exclusion list. - * @property {boolean} [enableHttp2] Whether HTTP2 is enabled on the - * application gateway resource. - * @property {boolean} [enableFips] Whether FIPS is enabled on the application - * gateway resource. - * @property {object} [autoscaleConfiguration] Autoscale Configuration. - * @property {number} [autoscaleConfiguration.minCapacity] Lower bound on - * number of Application Gateway instances - * @property {string} [resourceGuid] Resource GUID property of the application - * gateway resource. - * @property {string} [provisioningState] Provisioning state of the application - * gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {array} [customErrorConfigurations] Custom error configurations of - * the application gateway resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {array} [zones] A list of availability zones denoting where the - * resource needs to come from. - * @property {object} [identity] The identity of the application gateway, if - * configured. - * @property {string} [identity.principalId] The principal id of the system - * assigned identity. This property will only be provided for a system assigned - * identity. - * @property {string} [identity.tenantId] The tenant id of the system assigned - * identity. This property will only be provided for a system assigned - * identity. - * @property {string} [identity.type] The type of identity used for the - * resource. The type 'SystemAssigned, UserAssigned' includes both an - * implicitly created identity and a set of user assigned identities. The type - * 'None' will remove any identities from the virtual machine. Possible values - * include: 'SystemAssigned', 'UserAssigned', 'SystemAssigned, UserAssigned', - * 'None' - * @property {object} [identity.userAssignedIdentities] The list of user - * identities associated with resource. The user identity dictionary key - * references will be ARM resource ids in the form: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - */ +*/ export interface ApplicationGateway extends Resource { + /** + * SKU of the application gateway resource. + */ sku?: ApplicationGatewaySku; + /** + * SSL policy of the application gateway resource. + */ sslPolicy?: ApplicationGatewaySslPolicy; + /** + * Operational state of the application gateway resource. Possible values include: 'Stopped', + * 'Starting', 'Running', 'Stopping' + */ readonly operationalState?: string; + /** + * Subnets of application the gateway resource. + */ gatewayIPConfigurations?: ApplicationGatewayIPConfiguration[]; + /** + * Authentication certificates of the application gateway resource. + */ authenticationCertificates?: ApplicationGatewayAuthenticationCertificate[]; + /** + * Trusted Root certificates of the application gateway resource. + */ trustedRootCertificates?: ApplicationGatewayTrustedRootCertificate[]; + /** + * SSL certificates of the application gateway resource. + */ sslCertificates?: ApplicationGatewaySslCertificate[]; + /** + * Frontend IP addresses of the application gateway resource. + */ frontendIPConfigurations?: ApplicationGatewayFrontendIPConfiguration[]; + /** + * Frontend ports of the application gateway resource. + */ frontendPorts?: ApplicationGatewayFrontendPort[]; + /** + * Probes of the application gateway resource. + */ probes?: ApplicationGatewayProbe[]; + /** + * Backend address pool of the application gateway resource. + */ backendAddressPools?: ApplicationGatewayBackendAddressPool[]; + /** + * Backend http settings of the application gateway resource. + */ backendHttpSettingsCollection?: ApplicationGatewayBackendHttpSettings[]; + /** + * Http listeners of the application gateway resource. + */ httpListeners?: ApplicationGatewayHttpListener[]; + /** + * URL path map of the application gateway resource. + */ urlPathMaps?: ApplicationGatewayUrlPathMap[]; + /** + * Request routing rules of the application gateway resource. + */ requestRoutingRules?: ApplicationGatewayRequestRoutingRule[]; + /** + * Rewrite rules for the application gateway resource. + */ rewriteRuleSets?: ApplicationGatewayRewriteRuleSet[]; + /** + * Redirect configurations of the application gateway resource. + */ redirectConfigurations?: ApplicationGatewayRedirectConfiguration[]; + /** + * Web application firewall configuration. + */ webApplicationFirewallConfiguration?: ApplicationGatewayWebApplicationFirewallConfiguration; + /** + * Whether HTTP2 is enabled on the application gateway resource. + */ enableHttp2?: boolean; + /** + * Whether FIPS is enabled on the application gateway resource. + */ enableFips?: boolean; + /** + * Autoscale Configuration. + */ autoscaleConfiguration?: ApplicationGatewayAutoscaleConfiguration; + /** + * Resource GUID property of the application gateway resource. + */ resourceGuid?: string; + /** + * Provisioning state of the application gateway resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Custom error configurations of the application gateway resource. + */ customErrorConfigurations?: ApplicationGatewayCustomError[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * A list of availability zones denoting where the resource needs to come from. + */ zones?: string[]; + /** + * The identity of the application gateway, if configured. + */ identity?: ManagedServiceIdentity; } /** - * @class - * Initializes a new instance of the ApplicationGatewayFirewallRule class. - * @constructor + * Response for ApplicationGatewayAvailableServerVariables API service call. +*/ +export interface ApplicationGatewayAvailableServerVariablesResult { + /** + * The list of supported server variables in application gateway. + */ + value?: string[]; +} + +/** + * Response for ApplicationGatewayAvailableRequestHeaders API service call. +*/ +export interface ApplicationGatewayAvailableRequestHeadersResult { + /** + * The list of supported request headers in application gateway. + */ + value?: string[]; +} + +/** + * Response for ApplicationGatewayAvailableResponeHeaders API service call. +*/ +export interface ApplicationGatewayAvailableResponseHeadersResult { + /** + * The list of supported response header in application gateway. + */ + value?: string[]; +} + +/** * A web application firewall rule. - * - * @property {number} ruleId The identifier of the web application firewall - * rule. - * @property {string} [description] The description of the web application - * firewall rule. - */ +*/ export interface ApplicationGatewayFirewallRule { + /** + * The identifier of the web application firewall rule. + */ ruleId: number; + /** + * The description of the web application firewall rule. + */ description?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayFirewallRuleGroup class. - * @constructor * A web application firewall rule group. - * - * @property {string} ruleGroupName The name of the web application firewall - * rule group. - * @property {string} [description] The description of the web application - * firewall rule group. - * @property {array} rules The rules of the web application firewall rule - * group. - */ +*/ export interface ApplicationGatewayFirewallRuleGroup { + /** + * The name of the web application firewall rule group. + */ ruleGroupName: string; + /** + * The description of the web application firewall rule group. + */ description?: string; + /** + * The rules of the web application firewall rule group. + */ rules: ApplicationGatewayFirewallRule[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayFirewallRuleSet class. - * @constructor * A web application firewall rule set. - * - * @property {string} [provisioningState] The provisioning state of the web - * application firewall rule set. - * @property {string} ruleSetType The type of the web application firewall rule - * set. - * @property {string} ruleSetVersion The version of the web application - * firewall rule set type. - * @property {array} ruleGroups The rule groups of the web application firewall - * rule set. - */ +*/ export interface ApplicationGatewayFirewallRuleSet extends Resource { + /** + * The provisioning state of the web application firewall rule set. + */ provisioningState?: string; + /** + * The type of the web application firewall rule set. + */ ruleSetType: string; + /** + * The version of the web application firewall rule set type. + */ ruleSetVersion: string; + /** + * The rule groups of the web application firewall rule set. + */ ruleGroups: ApplicationGatewayFirewallRuleGroup[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayAvailableWafRuleSetsResult class. - * @constructor * Response for ApplicationGatewayAvailableWafRuleSets API service call. - * - * @property {array} [value] The list of application gateway rule sets. - */ +*/ export interface ApplicationGatewayAvailableWafRuleSetsResult { + /** + * The list of application gateway rule sets. + */ value?: ApplicationGatewayFirewallRuleSet[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewayAvailableSslOptions class. - * @constructor * Response for ApplicationGatewayAvailableSslOptions API service call. - * - * @property {array} [predefinedPolicies] List of available Ssl predefined - * policy. - * @property {string} [defaultPolicy] Name of the Ssl predefined policy applied - * by default to application gateway. Possible values include: - * 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', - * 'AppGwSslPolicy20170401S' - * @property {array} [availableCipherSuites] List of available Ssl cipher - * suites. - * @property {array} [availableProtocols] List of available Ssl protocols. - */ +*/ export interface ApplicationGatewayAvailableSslOptions extends Resource { + /** + * List of available Ssl predefined policy. + */ predefinedPolicies?: SubResource[]; + /** + * Name of the Ssl predefined policy applied by default to application gateway. Possible values + * include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + */ defaultPolicy?: string; + /** + * List of available Ssl cipher suites. + */ availableCipherSuites?: string[]; + /** + * List of available Ssl protocols. + */ availableProtocols?: string[]; } /** - * @class - * Initializes a new instance of the ApplicationGatewaySslPredefinedPolicy class. - * @constructor * An Ssl predefined policy - * - * @property {string} [name] Name of the Ssl predefined policy. - * @property {array} [cipherSuites] Ssl cipher suites to be enabled in the - * specified order for application gateway. - * @property {string} [minProtocolVersion] Minimum version of Ssl protocol to - * be supported on application gateway. Possible values include: 'TLSv1_0', - * 'TLSv1_1', 'TLSv1_2' - */ +*/ export interface ApplicationGatewaySslPredefinedPolicy extends SubResource { + /** + * Name of the Ssl predefined policy. + */ name?: string; + /** + * Ssl cipher suites to be enabled in the specified order for application gateway. + */ cipherSuites?: string[]; + /** + * Minimum version of Ssl protocol to be supported on application gateway. Possible values + * include: 'TLSv1_0', 'TLSv1_1', 'TLSv1_2' + */ minProtocolVersion?: string; } +export interface ErrorDetails { + code?: string; + target?: string; + message?: string; +} + +export interface ErrorModel { + code?: string; + message?: string; + target?: string; + details?: ErrorDetails[]; + innerError?: string; +} + /** - * @class - * Initializes a new instance of the TagsObject class. - * @constructor * Tags object for patch operations. - * - * @property {object} [tags] Resource tags. - */ +*/ export interface TagsObject { + /** + * Resource tags. + */ tags?: { [propertyName: string]: string }; } /** - * @class - * Initializes a new instance of the AvailableDelegation class. - * @constructor - * The serviceName of an AvailableDelegation indicates a possible delegation - * for a subnet. - * - * @property {string} [name] The name of the AvailableDelegation resource. - * @property {string} [id] A unique identifier of the AvailableDelegation - * resource. - * @property {string} [type] Resource type. - * @property {string} [serviceName] The name of the service and resource - * @property {array} [actions] Describes the actions permitted to the service - * upon delegation - */ + * The serviceName of an AvailableDelegation indicates a possible delegation for a subnet. +*/ export interface AvailableDelegation { + /** + * The name of the AvailableDelegation resource. + */ name?: string; + /** + * A unique identifier of the AvailableDelegation resource. + */ id?: string; + /** + * Resource type. + */ type?: string; + /** + * The name of the service and resource + */ serviceName?: string; + /** + * Describes the actions permitted to the service upon delegation + */ actions?: string[]; } /** - * @class - * Initializes a new instance of the AzureFirewallIPConfiguration class. - * @constructor * IP configuration of an Azure Firewall. - * - * @property {string} [privateIPAddress] The Firewall Internal Load Balancer IP - * to be used as the next hop in User Defined Routes. - * @property {object} [subnet] Reference of the subnet resource. This resource - * must be named 'AzureFirewallSubnet'. - * @property {string} [subnet.id] Resource ID. - * @property {object} [publicIPAddress] Reference of the PublicIP resource. - * This field is a mandatory input if subnet is not null. - * @property {string} [publicIPAddress.id] Resource ID. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [name] Name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface AzureFirewallIPConfiguration extends SubResource { + /** + * The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes. + */ readonly privateIPAddress?: string; + /** + * Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'. + */ subnet?: SubResource; + /** + * Reference of the PublicIP resource. This field is a mandatory input if subnet is not null. + */ publicIPAddress?: SubResource; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * Name of the resource that is unique within a resource group. This name can be used to access + * the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallRCAction class. - * @constructor * Properties of the AzureFirewallRCAction. - * - * @property {string} [type] The type of action. Possible values include: - * 'Allow', 'Deny' - */ +*/ export interface AzureFirewallRCAction { + /** + * The type of action. Possible values include: 'Allow', 'Deny' + */ type?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallApplicationRuleProtocol class. - * @constructor * Properties of the application rule protocol. - * - * @property {string} [protocolType] Protocol type. Possible values include: - * 'Http', 'Https' - * @property {number} [port] Port number for the protocol, cannot be greater - * than 64000. This field is optional. - */ +*/ export interface AzureFirewallApplicationRuleProtocol { + /** + * Protocol type. Possible values include: 'Http', 'Https' + */ protocolType?: string; + /** + * Port number for the protocol, cannot be greater than 64000. This field is optional. + */ port?: number; } /** - * @class - * Initializes a new instance of the AzureFirewallApplicationRule class. - * @constructor * Properties of an application rule. - * - * @property {string} [name] Name of the application rule. - * @property {string} [description] Description of the rule. - * @property {array} [sourceAddresses] List of source IP addresses for this - * rule. - * @property {array} [protocols] Array of ApplicationRuleProtocols. - * @property {array} [targetFqdns] List of FQDNs for this rule. - * @property {array} [fqdnTags] List of FQDN Tags for this rule. - */ +*/ export interface AzureFirewallApplicationRule { + /** + * Name of the application rule. + */ name?: string; + /** + * Description of the rule. + */ description?: string; + /** + * List of source IP addresses for this rule. + */ sourceAddresses?: string[]; + /** + * Array of ApplicationRuleProtocols. + */ protocols?: AzureFirewallApplicationRuleProtocol[]; + /** + * List of FQDNs for this rule. + */ targetFqdns?: string[]; + /** + * List of FQDN Tags for this rule. + */ fqdnTags?: string[]; } /** - * @class - * Initializes a new instance of the AzureFirewallApplicationRuleCollection class. - * @constructor * Application rule collection resource - * - * @property {number} [priority] Priority of the application rule collection - * resource. - * @property {object} [action] The action type of a rule collection - * @property {string} [action.type] The type of action. Possible values - * include: 'Allow', 'Deny' - * @property {array} [rules] Collection of rules used by a application rule - * collection. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface AzureFirewallApplicationRuleCollection extends SubResource { + /** + * Priority of the application rule collection resource. + */ priority?: number; + /** + * The action type of a rule collection + */ action?: AzureFirewallRCAction; + /** + * Collection of rules used by a application rule collection. + */ rules?: AzureFirewallApplicationRule[]; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallNatRCAction class. - * @constructor * AzureFirewall NAT Rule Collection Action. - * - * @property {string} [type] The type of action. Possible values include: - * 'Snat', 'Dnat' - */ +*/ export interface AzureFirewallNatRCAction { + /** + * The type of action. Possible values include: 'Snat', 'Dnat' + */ type?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallNatRule class. - * @constructor * Properties of a NAT rule. - * - * @property {string} [name] Name of the NAT rule. - * @property {string} [description] Description of the rule. - * @property {array} [sourceAddresses] List of source IP addresses for this - * rule. - * @property {array} [destinationAddresses] List of destination IP addresses - * for this rule. - * @property {array} [destinationPorts] List of destination ports. - * @property {array} [protocols] Array of AzureFirewallNetworkRuleProtocols - * applicable to this NAT rule. - * @property {string} [translatedAddress] The translated address for this NAT - * rule. - * @property {string} [translatedPort] The translated port for this NAT rule. - */ +*/ export interface AzureFirewallNatRule { + /** + * Name of the NAT rule. + */ name?: string; + /** + * Description of the rule. + */ description?: string; + /** + * List of source IP addresses for this rule. + */ sourceAddresses?: string[]; + /** + * List of destination IP addresses for this rule. + */ destinationAddresses?: string[]; + /** + * List of destination ports. + */ destinationPorts?: string[]; + /** + * Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. + */ protocols?: string[]; + /** + * The translated address for this NAT rule. + */ translatedAddress?: string; + /** + * The translated port for this NAT rule. + */ translatedPort?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallNatRuleCollection class. - * @constructor * NAT rule collection resource - * - * @property {number} [priority] Priority of the NAT rule collection resource. - * @property {object} [action] The action type of a NAT rule collection - * @property {string} [action.type] The type of action. Possible values - * include: 'Snat', 'Dnat' - * @property {array} [rules] Collection of rules used by a NAT rule collection. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface AzureFirewallNatRuleCollection extends SubResource { + /** + * Priority of the NAT rule collection resource. + */ priority?: number; + /** + * The action type of a NAT rule collection + */ action?: AzureFirewallNatRCAction; + /** + * Collection of rules used by a NAT rule collection. + */ rules?: AzureFirewallNatRule[]; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallNetworkRule class. - * @constructor * Properties of the network rule. - * - * @property {string} [name] Name of the network rule. - * @property {string} [description] Description of the rule. - * @property {array} [protocols] Array of AzureFirewallNetworkRuleProtocols. - * @property {array} [sourceAddresses] List of source IP addresses for this - * rule. - * @property {array} [destinationAddresses] List of destination IP addresses. - * @property {array} [destinationPorts] List of destination ports. - */ +*/ export interface AzureFirewallNetworkRule { + /** + * Name of the network rule. + */ name?: string; + /** + * Description of the rule. + */ description?: string; + /** + * Array of AzureFirewallNetworkRuleProtocols. + */ protocols?: string[]; + /** + * List of source IP addresses for this rule. + */ sourceAddresses?: string[]; + /** + * List of destination IP addresses. + */ destinationAddresses?: string[]; + /** + * List of destination ports. + */ destinationPorts?: string[]; } /** - * @class - * Initializes a new instance of the AzureFirewallNetworkRuleCollection class. - * @constructor * Network rule collection resource - * - * @property {number} [priority] Priority of the network rule collection - * resource. - * @property {object} [action] The action type of a rule collection - * @property {string} [action.type] The type of action. Possible values - * include: 'Allow', 'Deny' - * @property {array} [rules] Collection of rules used by a network rule - * collection. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface AzureFirewallNetworkRuleCollection extends SubResource { + /** + * Priority of the network rule collection resource. + */ priority?: number; + /** + * The action type of a rule collection + */ action?: AzureFirewallRCAction; + /** + * Collection of rules used by a network rule collection. + */ rules?: AzureFirewallNetworkRule[]; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the AzureFirewall class. - * @constructor * Azure Firewall resource - * - * @property {array} [applicationRuleCollections] Collection of application - * rule collections used by Azure Firewall. - * @property {array} [natRuleCollections] Collection of NAT rule collections - * used by Azure Firewall. - * @property {array} [networkRuleCollections] Collection of network rule - * collections used by Azure Firewall. - * @property {array} [ipConfigurations] IP configuration of the Azure Firewall - * resource. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface AzureFirewall extends Resource { + /** + * Collection of application rule collections used by Azure Firewall. + */ applicationRuleCollections?: AzureFirewallApplicationRuleCollection[]; + /** + * Collection of NAT rule collections used by Azure Firewall. + */ natRuleCollections?: AzureFirewallNatRuleCollection[]; + /** + * Collection of network rule collections used by Azure Firewall. + */ networkRuleCollections?: AzureFirewallNetworkRuleCollection[]; + /** + * IP configuration of the Azure Firewall resource. + */ ipConfigurations?: AzureFirewallIPConfiguration[]; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallFqdnTag class. - * @constructor * Azure Firewall FQDN Tag Resource - * - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [fqdnTagName] The name of this FQDN Tag. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface AzureFirewallFqdnTag extends Resource { + /** + * The provisioning state of the resource. + */ readonly provisioningState?: string; + /** + * The name of this FQDN Tag. + */ readonly fqdnTagName?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the DnsNameAvailabilityResult class. - * @constructor * Response for the CheckDnsNameAvailability API service call. - * - * @property {boolean} [available] Domain availability (True/False). - */ +*/ export interface DnsNameAvailabilityResult { + /** + * Domain availability (True/False). + */ available?: boolean; } /** - * @class - * Initializes a new instance of the DdosProtectionPlan class. - * @constructor * A DDoS protection plan in a resource group. - * - * @property {string} [id] Resource ID. - * @property {string} [name] Resource name. - * @property {string} [type] Resource type. - * @property {string} [location] Resource location. - * @property {object} [tags] Resource tags. - * @property {string} [resourceGuid] The resource GUID property of the DDoS - * protection plan resource. It uniquely identifies the resource, even if the - * user changes its name or migrate the resource across subscriptions or - * resource groups. - * @property {string} [provisioningState] The provisioning state of the DDoS - * protection plan resource. Possible values are: 'Succeeded', 'Updating', - * 'Deleting', and 'Failed'. - * @property {array} [virtualNetworks] The list of virtual networks associated - * with the DDoS protection plan resource. This list is read-only. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface DdosProtectionPlan extends BaseResource { + /** + * Resource ID. + */ readonly id?: string; + /** + * Resource name. + */ readonly name?: string; + /** + * Resource type. + */ readonly type?: string; + /** + * Resource location. + */ location?: string; + /** + * Resource tags. + */ tags?: { [propertyName: string]: string }; + /** + * The resource GUID property of the DDoS protection plan resource. It uniquely identifies the + * resource, even if the user changes its name or migrate the resource across subscriptions or + * resource groups. + */ readonly resourceGuid?: string; + /** + * The provisioning state of the DDoS protection plan resource. Possible values are: 'Succeeded', + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The list of virtual networks associated with the DDoS protection plan resource. This list is + * read-only. + */ readonly virtualNetworks?: SubResource[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the EndpointServiceResult class. - * @constructor * Endpoint service. - * - * @property {string} [name] Name of the endpoint service. - * @property {string} [type] Type of the endpoint service. - */ +*/ export interface EndpointServiceResult extends SubResource { + /** + * Name of the endpoint service. + */ readonly name?: string; + /** + * Type of the endpoint service. + */ readonly type?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitAuthorization class. - * @constructor * Authorization in an ExpressRouteCircuit resource. - * - * @property {string} [authorizationKey] The authorization key. - * @property {string} [authorizationUseStatus] AuthorizationUseStatus. Possible - * values are: 'Available' and 'InUse'. Possible values include: 'Available', - * 'InUse' - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ExpressRouteCircuitAuthorization extends SubResource { + /** + * The authorization key. + */ authorizationKey?: string; + /** + * AuthorizationUseStatus. Possible values are: 'Available' and 'InUse'. Possible values include: + * 'Available', 'InUse' + */ authorizationUseStatus?: string; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitPeeringConfig class. - * @constructor * Specifies the peering configuration. - * - * @property {array} [advertisedPublicPrefixes] The reference of - * AdvertisedPublicPrefixes. - * @property {array} [advertisedCommunities] The communities of bgp peering. - * Spepcified for microsoft peering - * @property {string} [advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @property {number} [legacyMode] The legacy mode of the peering. - * @property {number} [customerASN] The CustomerASN of the peering. - * @property {string} [routingRegistryName] The RoutingRegistryName of the - * configuration. - */ +*/ export interface ExpressRouteCircuitPeeringConfig { + /** + * The reference of AdvertisedPublicPrefixes. + */ advertisedPublicPrefixes?: string[]; + /** + * The communities of bgp peering. Spepcified for microsoft peering + */ advertisedCommunities?: string[]; + /** + * AdvertisedPublicPrefixState of the Peering resource. Possible values are 'NotConfigured', + * 'Configuring', 'Configured', and 'ValidationNeeded'. Possible values include: 'NotConfigured', + * 'Configuring', 'Configured', 'ValidationNeeded' + */ advertisedPublicPrefixesState?: string; + /** + * The legacy mode of the peering. + */ legacyMode?: number; + /** + * The CustomerASN of the peering. + */ customerASN?: number; + /** + * The RoutingRegistryName of the configuration. + */ routingRegistryName?: string; } /** - * @class - * Initializes a new instance of the RouteFilterRule class. - * @constructor * Route Filter Rule Resource - * - * @property {string} access The access type of the rule. Valid values are: - * 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' - * @property {array} communities The collection for bgp community values to - * filter on. e.g. ['12076:5010','12076:5020'] - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [location] Resource location. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface RouteFilterRule extends SubResource { + /** + * The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values include: + * 'Allow', 'Deny' + */ access: string; + /** + * The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'] + */ communities: string[]; + /** + * The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', + * 'Succeeded' and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * Resource location. + */ location?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitStats class. - * @constructor * Contains stats associated with the peering. - * - * @property {number} [primarybytesIn] Gets BytesIn of the peering. - * @property {number} [primarybytesOut] Gets BytesOut of the peering. - * @property {number} [secondarybytesIn] Gets BytesIn of the peering. - * @property {number} [secondarybytesOut] Gets BytesOut of the peering. - */ +*/ export interface ExpressRouteCircuitStats { + /** + * Gets BytesIn of the peering. + */ primarybytesIn?: number; + /** + * Gets BytesOut of the peering. + */ primarybytesOut?: number; + /** + * Gets BytesIn of the peering. + */ secondarybytesIn?: number; + /** + * Gets BytesOut of the peering. + */ secondarybytesOut?: number; } /** - * @class - * Initializes a new instance of the ExpressRouteConnectionId class. - * @constructor * The ID of the ExpressRouteConnection. - * - * @property {string} [id] The ID of the ExpressRouteConnection. - */ +*/ export interface ExpressRouteConnectionId { + /** + * The ID of the ExpressRouteConnection. + */ readonly id?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitConnection class. - * @constructor * Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. - * - * @property {object} [expressRouteCircuitPeering] Reference to Express Route - * Circuit Private Peering Resource of the circuit initiating connection. - * @property {string} [expressRouteCircuitPeering.id] Resource ID. - * @property {object} [peerExpressRouteCircuitPeering] Reference to Express - * Route Circuit Private Peering Resource of the peered circuit. - * @property {string} [peerExpressRouteCircuitPeering.id] Resource ID. - * @property {string} [addressPrefix] /29 IP address space to carve out - * Customer addresses for tunnels. - * @property {string} [authorizationKey] The authorization key. - * @property {string} [circuitConnectionStatus] Express Route Circuit - * Connection State. Possible values are: 'Connected' and 'Disconnected'. - * Possible values include: 'Connected', 'Connecting', 'Disconnected' - * @property {string} [provisioningState] Provisioning state of the circuit - * connection resource. Possible values are: 'Succeded', 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ExpressRouteCircuitConnection extends SubResource { + /** + * Reference to Express Route Circuit Private Peering Resource of the circuit initiating + * connection. + */ expressRouteCircuitPeering?: SubResource; + /** + * Reference to Express Route Circuit Private Peering Resource of the peered circuit. + */ peerExpressRouteCircuitPeering?: SubResource; + /** + * /29 IP address space to carve out Customer addresses for tunnels. + */ addressPrefix?: string; + /** + * The authorization key. + */ authorizationKey?: string; + /** + * Express Route Circuit Connection State. Possible values are: 'Connected' and 'Disconnected'. + * Possible values include: 'Connected', 'Connecting', 'Disconnected' + */ readonly circuitConnectionStatus?: string; + /** + * Provisioning state of the circuit connection resource. Possible values are: 'Succeded', + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitPeering class. - * @constructor * Peering in an ExpressRouteCircuit resource. - * - * @property {string} [peeringType] The peering type. Possible values include: - * 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - * @property {string} [state] The peering state. Possible values include: - * 'Disabled', 'Enabled' - * @property {number} [azureASN] The Azure ASN. - * @property {number} [peerASN] The peer ASN. - * @property {string} [primaryPeerAddressPrefix] The primary address prefix. - * @property {string} [secondaryPeerAddressPrefix] The secondary address - * prefix. - * @property {string} [primaryAzurePort] The primary port. - * @property {string} [secondaryAzurePort] The secondary port. - * @property {string} [sharedKey] The shared key. - * @property {number} [vlanId] The VLAN ID. - * @property {object} [microsoftPeeringConfig] The Microsoft peering - * configuration. - * @property {array} [microsoftPeeringConfig.advertisedPublicPrefixes] The - * reference of AdvertisedPublicPrefixes. - * @property {array} [microsoftPeeringConfig.advertisedCommunities] The - * communities of bgp peering. Spepcified for microsoft peering - * @property {string} [microsoftPeeringConfig.advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @property {number} [microsoftPeeringConfig.legacyMode] The legacy mode of - * the peering. - * @property {number} [microsoftPeeringConfig.customerASN] The CustomerASN of - * the peering. - * @property {string} [microsoftPeeringConfig.routingRegistryName] The - * RoutingRegistryName of the configuration. - * @property {object} [stats] Gets peering stats. - * @property {number} [stats.primarybytesIn] Gets BytesIn of the peering. - * @property {number} [stats.primarybytesOut] Gets BytesOut of the peering. - * @property {number} [stats.secondarybytesIn] Gets BytesIn of the peering. - * @property {number} [stats.secondarybytesOut] Gets BytesOut of the peering. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [gatewayManagerEtag] The GatewayManager Etag. - * @property {string} [lastModifiedBy] Gets whether the provider or the - * customer last modified the peering. - * @property {object} [routeFilter] The reference of the RouteFilter resource. - * @property {array} [routeFilter.rules] Collection of RouteFilterRules - * contained within a route filter. - * @property {array} [routeFilter.peerings] A collection of references to - * express route circuit peerings. - * @property {string} [routeFilter.provisioningState] The provisioning state of - * the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and - * 'Failed'. - * @property {string} [routeFilter.etag] Gets a unique read-only string that - * changes whenever the resource is updated. - * @property {object} [ipv6PeeringConfig] The IPv6 peering configuration. - * @property {string} [ipv6PeeringConfig.primaryPeerAddressPrefix] The primary - * address prefix. - * @property {string} [ipv6PeeringConfig.secondaryPeerAddressPrefix] The - * secondary address prefix. - * @property {object} [ipv6PeeringConfig.microsoftPeeringConfig] The Microsoft - * peering configuration. - * @property {array} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes] The - * reference of AdvertisedPublicPrefixes. - * @property {array} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities] The - * communities of bgp peering. Spepcified for microsoft peering - * @property {string} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @property {number} [ipv6PeeringConfig.microsoftPeeringConfig.legacyMode] The - * legacy mode of the peering. - * @property {number} [ipv6PeeringConfig.microsoftPeeringConfig.customerASN] - * The CustomerASN of the peering. - * @property {string} - * [ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName] The - * RoutingRegistryName of the configuration. - * @property {object} [ipv6PeeringConfig.routeFilter] The reference of the - * RouteFilter resource. - * @property {array} [ipv6PeeringConfig.routeFilter.rules] Collection of - * RouteFilterRules contained within a route filter. - * @property {array} [ipv6PeeringConfig.routeFilter.peerings] A collection of - * references to express route circuit peerings. - * @property {string} [ipv6PeeringConfig.routeFilter.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', 'Succeeded' and 'Failed'. - * @property {string} [ipv6PeeringConfig.routeFilter.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * @property {string} [ipv6PeeringConfig.state] The state of peering. Possible - * values are: 'Disabled' and 'Enabled'. Possible values include: 'Disabled', - * 'Enabled' - * @property {object} [expressRouteConnection] The ExpressRoute connection. - * @property {string} [expressRouteConnection.id] The ID of the - * ExpressRouteConnection. - * @property {array} [connections] The list of circuit connections associated - * with Azure Private Peering for this circuit. - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ExpressRouteCircuitPeering extends SubResource { + /** + * The peering type. Possible values include: 'AzurePublicPeering', 'AzurePrivatePeering', + * 'MicrosoftPeering' + */ peeringType?: string; + /** + * The peering state. Possible values include: 'Disabled', 'Enabled' + */ state?: string; + /** + * The Azure ASN. + */ azureASN?: number; + /** + * The peer ASN. + */ peerASN?: number; + /** + * The primary address prefix. + */ primaryPeerAddressPrefix?: string; + /** + * The secondary address prefix. + */ secondaryPeerAddressPrefix?: string; + /** + * The primary port. + */ primaryAzurePort?: string; + /** + * The secondary port. + */ secondaryAzurePort?: string; + /** + * The shared key. + */ sharedKey?: string; + /** + * The VLAN ID. + */ vlanId?: number; + /** + * The Microsoft peering configuration. + */ microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig; + /** + * Gets peering stats. + */ stats?: ExpressRouteCircuitStats; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * The GatewayManager Etag. + */ gatewayManagerEtag?: string; + /** + * Gets whether the provider or the customer last modified the peering. + */ lastModifiedBy?: string; + /** + * The reference of the RouteFilter resource. + */ routeFilter?: RouteFilter; + /** + * The IPv6 peering configuration. + */ ipv6PeeringConfig?: Ipv6ExpressRouteCircuitPeeringConfig; + /** + * The ExpressRoute connection. + */ expressRouteConnection?: ExpressRouteConnectionId; + /** + * The list of circuit connections associated with Azure Private Peering for this circuit. + */ connections?: ExpressRouteCircuitConnection[]; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the RouteFilter class. - * @constructor * Route Filter Resource. - * - * @property {array} [rules] Collection of RouteFilterRules contained within a - * route filter. - * @property {array} [peerings] A collection of references to express route - * circuit peerings. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and - * 'Failed'. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface RouteFilter extends Resource { + /** + * Collection of RouteFilterRules contained within a route filter. + */ rules?: RouteFilterRule[]; + /** + * A collection of references to express route circuit peerings. + */ peerings?: ExpressRouteCircuitPeering[]; + /** + * The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', + * 'Succeeded' and 'Failed'. + */ readonly provisioningState?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the Ipv6ExpressRouteCircuitPeeringConfig class. - * @constructor * Contains IPv6 peering config. - * - * @property {string} [primaryPeerAddressPrefix] The primary address prefix. - * @property {string} [secondaryPeerAddressPrefix] The secondary address - * prefix. - * @property {object} [microsoftPeeringConfig] The Microsoft peering - * configuration. - * @property {array} [microsoftPeeringConfig.advertisedPublicPrefixes] The - * reference of AdvertisedPublicPrefixes. - * @property {array} [microsoftPeeringConfig.advertisedCommunities] The - * communities of bgp peering. Spepcified for microsoft peering - * @property {string} [microsoftPeeringConfig.advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @property {number} [microsoftPeeringConfig.legacyMode] The legacy mode of - * the peering. - * @property {number} [microsoftPeeringConfig.customerASN] The CustomerASN of - * the peering. - * @property {string} [microsoftPeeringConfig.routingRegistryName] The - * RoutingRegistryName of the configuration. - * @property {object} [routeFilter] The reference of the RouteFilter resource. - * @property {array} [routeFilter.rules] Collection of RouteFilterRules - * contained within a route filter. - * @property {array} [routeFilter.peerings] A collection of references to - * express route circuit peerings. - * @property {string} [routeFilter.provisioningState] The provisioning state of - * the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and - * 'Failed'. - * @property {string} [routeFilter.etag] Gets a unique read-only string that - * changes whenever the resource is updated. - * @property {string} [state] The state of peering. Possible values are: - * 'Disabled' and 'Enabled'. Possible values include: 'Disabled', 'Enabled' - */ +*/ export interface Ipv6ExpressRouteCircuitPeeringConfig { + /** + * The primary address prefix. + */ primaryPeerAddressPrefix?: string; + /** + * The secondary address prefix. + */ secondaryPeerAddressPrefix?: string; + /** + * The Microsoft peering configuration. + */ microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig; + /** + * The reference of the RouteFilter resource. + */ routeFilter?: RouteFilter; + /** + * The state of peering. Possible values are: 'Disabled' and 'Enabled'. Possible values include: + * 'Disabled', 'Enabled' + */ state?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitSku class. - * @constructor * Contains SKU in an ExpressRouteCircuit. - * - * @property {string} [name] The name of the SKU. - * @property {string} [tier] The tier of the SKU. Possible values are - * 'Standard', 'Premium' or 'Basic'. Possible values include: 'Standard', - * 'Premium', 'Basic' - * @property {string} [family] The family of the SKU. Possible values are: - * 'UnlimitedData' and 'MeteredData'. Possible values include: 'UnlimitedData', - * 'MeteredData' - */ +*/ export interface ExpressRouteCircuitSku { + /** + * The name of the SKU. + */ name?: string; + /** + * The tier of the SKU. Possible values are 'Standard', 'Premium' or 'Basic'. Possible values + * include: 'Standard', 'Premium', 'Basic' + */ tier?: string; + /** + * The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. Possible values + * include: 'UnlimitedData', 'MeteredData' + */ family?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitServiceProviderProperties class. - * @constructor * Contains ServiceProviderProperties in an ExpressRouteCircuit. - * - * @property {string} [serviceProviderName] The serviceProviderName. - * @property {string} [peeringLocation] The peering location. - * @property {number} [bandwidthInMbps] The BandwidthInMbps. - */ +*/ export interface ExpressRouteCircuitServiceProviderProperties { + /** + * The serviceProviderName. + */ serviceProviderName?: string; + /** + * The peering location. + */ peeringLocation?: string; + /** + * The BandwidthInMbps. + */ bandwidthInMbps?: number; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuit class. - * @constructor * ExpressRouteCircuit resource - * - * @property {object} [sku] The SKU. - * @property {string} [sku.name] The name of the SKU. - * @property {string} [sku.tier] The tier of the SKU. Possible values are - * 'Standard', 'Premium' or 'Basic'. Possible values include: 'Standard', - * 'Premium', 'Basic' - * @property {string} [sku.family] The family of the SKU. Possible values are: - * 'UnlimitedData' and 'MeteredData'. Possible values include: 'UnlimitedData', - * 'MeteredData' - * @property {boolean} [allowClassicOperations] Allow classic operations - * @property {string} [circuitProvisioningState] The CircuitProvisioningState - * state of the resource. - * @property {string} [serviceProviderProvisioningState] The - * ServiceProviderProvisioningState state of the resource. Possible values are - * 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. - * Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', - * 'Deprovisioning' - * @property {array} [authorizations] The list of authorizations. - * @property {array} [peerings] The list of peerings. - * @property {string} [serviceKey] The ServiceKey. - * @property {string} [serviceProviderNotes] The ServiceProviderNotes. - * @property {object} [serviceProviderProperties] The - * ServiceProviderProperties. - * @property {string} [serviceProviderProperties.serviceProviderName] The - * serviceProviderName. - * @property {string} [serviceProviderProperties.peeringLocation] The peering - * location. - * @property {number} [serviceProviderProperties.bandwidthInMbps] The - * BandwidthInMbps. - * @property {object} [expressRoutePort] The reference to the ExpressRoutePort - * resource when the circuit is provisioned on an ExpressRoutePort resource. - * @property {string} [expressRoutePort.id] Resource ID. - * @property {number} [bandwidthInGbps] The bandwidth of the circuit when the - * circuit is provisioned on an ExpressRoutePort resource. - * @property {number} [stag] The identifier of the circuit traffic. Outer tag - * for QinQ encapsulation. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [gatewayManagerEtag] The GatewayManager Etag. - * @property {boolean} [allowGlobalReach] Flag to enable Global Reach on the - * circuit. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface ExpressRouteCircuit extends Resource { + /** + * The SKU. + */ sku?: ExpressRouteCircuitSku; + /** + * Allow classic operations + */ allowClassicOperations?: boolean; + /** + * The CircuitProvisioningState state of the resource. + */ circuitProvisioningState?: string; + /** + * The ServiceProviderProvisioningState state of the resource. Possible values are + * 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. Possible values + * include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + */ serviceProviderProvisioningState?: string; + /** + * The list of authorizations. + */ authorizations?: ExpressRouteCircuitAuthorization[]; + /** + * The list of peerings. + */ peerings?: ExpressRouteCircuitPeering[]; + /** + * The ServiceKey. + */ serviceKey?: string; + /** + * The ServiceProviderNotes. + */ serviceProviderNotes?: string; + /** + * The ServiceProviderProperties. + */ serviceProviderProperties?: ExpressRouteCircuitServiceProviderProperties; + /** + * The reference to the ExpressRoutePort resource when the circuit is provisioned on an + * ExpressRoutePort resource. + */ expressRoutePort?: SubResource; + /** + * The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. + */ bandwidthInGbps?: number; + /** + * The identifier of the circuit traffic. Outer tag for QinQ encapsulation. + */ readonly stag?: number; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * The GatewayManager Etag. + */ gatewayManagerEtag?: string; + /** + * Flag to enable Global Reach on the circuit. + */ allowGlobalReach?: boolean; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitArpTable class. - * @constructor * The ARP table associated with the ExpressRouteCircuit. - * - * @property {number} [age] Entry age in minutes - * @property {string} [interfaceProperty] Interface address - * @property {string} [ipAddress] The IP address. - * @property {string} [macAddress] The MAC address. - */ +*/ export interface ExpressRouteCircuitArpTable { + /** + * Entry age in minutes + */ age?: number; + /** + * Interface address + */ interfaceProperty?: string; + /** + * The IP address. + */ ipAddress?: string; + /** + * The MAC address. + */ macAddress?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitsArpTableListResult class. - * @constructor * Response for ListArpTable associated with the Express Route Circuits API. - * - * @property {array} [value] Gets list of the ARP table. - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ExpressRouteCircuitsArpTableListResult { + /** + * Gets list of the ARP table. + */ value?: ExpressRouteCircuitArpTable[]; + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitRoutesTable class. - * @constructor * The routes table associated with the ExpressRouteCircuit - * - * @property {string} [network] IP address of a network entity - * @property {string} [nextHop] NextHop address - * @property {string} [locPrf] Local preference value as set with the set - * local-preference route-map configuration command - * @property {number} [weight] Route Weight. - * @property {string} [path] Autonomous system paths to the destination - * network. - */ +*/ export interface ExpressRouteCircuitRoutesTable { + /** + * IP address of a network entity + */ network?: string; + /** + * NextHop address + */ nextHop?: string; + /** + * Local preference value as set with the set local-preference route-map configuration command + */ locPrf?: string; + /** + * Route Weight. + */ weight?: number; + /** + * Autonomous system paths to the destination network. + */ path?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitsRoutesTableListResult class. - * @constructor * Response for ListRoutesTable associated with the Express Route Circuits API. - * - * @property {array} [value] The list of routes table. - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ExpressRouteCircuitsRoutesTableListResult { + /** + * The list of routes table. + */ value?: ExpressRouteCircuitRoutesTable[]; + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitRoutesTableSummary class. - * @constructor * The routes table associated with the ExpressRouteCircuit. - * - * @property {string} [neighbor] IP address of the neighbor. - * @property {number} [v] BGP version number spoken to the neighbor. - * @property {number} [as] Autonomous system number. - * @property {string} [upDown] The length of time that the BGP session has been - * in the Established state, or the current status if not in the Established - * state. - * @property {string} [statePfxRcd] Current state of the BGP session, and the - * number of prefixes that have been received from a neighbor or peer group. - */ +*/ export interface ExpressRouteCircuitRoutesTableSummary { + /** + * IP address of the neighbor. + */ neighbor?: string; + /** + * BGP version number spoken to the neighbor. + */ v?: number; + /** + * Autonomous system number. + */ as?: number; + /** + * The length of time that the BGP session has been in the Established state, or the current + * status if not in the Established state. + */ upDown?: string; + /** + * Current state of the BGP session, and the number of prefixes that have been received from a + * neighbor or peer group. + */ statePfxRcd?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitsRoutesTableSummaryListResult class. - * @constructor * Response for ListRoutesTable associated with the Express Route Circuits API. - * - * @property {array} [value] A list of the routes table. - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ExpressRouteCircuitsRoutesTableSummaryListResult { + /** + * A list of the routes table. + */ value?: ExpressRouteCircuitRoutesTableSummary[]; + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteServiceProviderBandwidthsOffered class. - * @constructor * Contains bandwidths offered in ExpressRouteServiceProvider resources. - * - * @property {string} [offerName] The OfferName. - * @property {number} [valueInMbps] The ValueInMbps. - */ +*/ export interface ExpressRouteServiceProviderBandwidthsOffered { + /** + * The OfferName. + */ offerName?: string; + /** + * The ValueInMbps. + */ valueInMbps?: number; } /** - * @class - * Initializes a new instance of the ExpressRouteServiceProvider class. - * @constructor * A ExpressRouteResourceProvider object. - * - * @property {array} [peeringLocations] Get a list of peering locations. - * @property {array} [bandwidthsOffered] Gets bandwidths offered. - * @property {string} [provisioningState] Gets the provisioning state of the - * resource. - */ +*/ export interface ExpressRouteServiceProvider extends Resource { + /** + * Get a list of peering locations. + */ peeringLocations?: string[]; + /** + * Gets bandwidths offered. + */ bandwidthsOffered?: ExpressRouteServiceProviderBandwidthsOffered[]; + /** + * Gets the provisioning state of the resource. + */ provisioningState?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCrossConnectionRoutesTableSummary class. - * @constructor * The routes table associated with the ExpressRouteCircuit. - * - * @property {string} [neighbor] IP address of Neighbor router - * @property {number} [asn] Autonomous system number. - * @property {string} [upDown] The length of time that the BGP session has been - * in the Established state, or the current status if not in the Established - * state. - * @property {string} [stateOrPrefixesReceived] Current state of the BGP - * session, and the number of prefixes that have been received from a neighbor - * or peer group. - */ +*/ export interface ExpressRouteCrossConnectionRoutesTableSummary { + /** + * IP address of Neighbor router + */ neighbor?: string; + /** + * Autonomous system number. + */ asn?: number; + /** + * The length of time that the BGP session has been in the Established state, or the current + * status if not in the Established state. + */ upDown?: string; + /** + * Current state of the BGP session, and the number of prefixes that have been received from a + * neighbor or peer group. + */ stateOrPrefixesReceived?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCrossConnectionsRoutesTableSummaryListResult class. - * @constructor - * Response for ListRoutesTable associated with the Express Route Cross - * Connections. - * - * @property {array} [value] A list of the routes table. - * @property {string} [nextLink] The URL to get the next set of results. - */ + * Response for ListRoutesTable associated with the Express Route Cross Connections. +*/ export interface ExpressRouteCrossConnectionsRoutesTableSummaryListResult { + /** + * A list of the routes table. + */ value?: ExpressRouteCrossConnectionRoutesTableSummary[]; + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } -/** - * @class - * Initializes a new instance of the ExpressRouteCircuitReference class. - * @constructor - * @property {string} [id] Corresponding Express Route Circuit Id. - */ export interface ExpressRouteCircuitReference { + /** + * Corresponding Express Route Circuit Id. + */ id?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCrossConnectionPeering class. - * @constructor * Peering in an ExpressRoute Cross Connection resource. - * - * @property {string} [peeringType] The peering type. Possible values include: - * 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' - * @property {string} [state] The peering state. Possible values include: - * 'Disabled', 'Enabled' - * @property {number} [azureASN] The Azure ASN. - * @property {number} [peerASN] The peer ASN. - * @property {string} [primaryPeerAddressPrefix] The primary address prefix. - * @property {string} [secondaryPeerAddressPrefix] The secondary address - * prefix. - * @property {string} [primaryAzurePort] The primary port. - * @property {string} [secondaryAzurePort] The secondary port. - * @property {string} [sharedKey] The shared key. - * @property {number} [vlanId] The VLAN ID. - * @property {object} [microsoftPeeringConfig] The Microsoft peering - * configuration. - * @property {array} [microsoftPeeringConfig.advertisedPublicPrefixes] The - * reference of AdvertisedPublicPrefixes. - * @property {array} [microsoftPeeringConfig.advertisedCommunities] The - * communities of bgp peering. Spepcified for microsoft peering - * @property {string} [microsoftPeeringConfig.advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @property {number} [microsoftPeeringConfig.legacyMode] The legacy mode of - * the peering. - * @property {number} [microsoftPeeringConfig.customerASN] The CustomerASN of - * the peering. - * @property {string} [microsoftPeeringConfig.routingRegistryName] The - * RoutingRegistryName of the configuration. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [gatewayManagerEtag] The GatewayManager Etag. - * @property {string} [lastModifiedBy] Gets whether the provider or the - * customer last modified the peering. - * @property {object} [ipv6PeeringConfig] The IPv6 peering configuration. - * @property {string} [ipv6PeeringConfig.primaryPeerAddressPrefix] The primary - * address prefix. - * @property {string} [ipv6PeeringConfig.secondaryPeerAddressPrefix] The - * secondary address prefix. - * @property {object} [ipv6PeeringConfig.microsoftPeeringConfig] The Microsoft - * peering configuration. - * @property {array} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixes] The - * reference of AdvertisedPublicPrefixes. - * @property {array} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedCommunities] The - * communities of bgp peering. Spepcified for microsoft peering - * @property {string} - * [ipv6PeeringConfig.microsoftPeeringConfig.advertisedPublicPrefixesState] - * AdvertisedPublicPrefixState of the Peering resource. Possible values are - * 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. - * Possible values include: 'NotConfigured', 'Configuring', 'Configured', - * 'ValidationNeeded' - * @property {number} [ipv6PeeringConfig.microsoftPeeringConfig.legacyMode] The - * legacy mode of the peering. - * @property {number} [ipv6PeeringConfig.microsoftPeeringConfig.customerASN] - * The CustomerASN of the peering. - * @property {string} - * [ipv6PeeringConfig.microsoftPeeringConfig.routingRegistryName] The - * RoutingRegistryName of the configuration. - * @property {object} [ipv6PeeringConfig.routeFilter] The reference of the - * RouteFilter resource. - * @property {array} [ipv6PeeringConfig.routeFilter.rules] Collection of - * RouteFilterRules contained within a route filter. - * @property {array} [ipv6PeeringConfig.routeFilter.peerings] A collection of - * references to express route circuit peerings. - * @property {string} [ipv6PeeringConfig.routeFilter.provisioningState] The - * provisioning state of the resource. Possible values are: 'Updating', - * 'Deleting', 'Succeeded' and 'Failed'. - * @property {string} [ipv6PeeringConfig.routeFilter.etag] Gets a unique - * read-only string that changes whenever the resource is updated. - * @property {string} [ipv6PeeringConfig.state] The state of peering. Possible - * values are: 'Disabled' and 'Enabled'. Possible values include: 'Disabled', - * 'Enabled' - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ExpressRouteCrossConnectionPeering extends SubResource { + /** + * The peering type. Possible values include: 'AzurePublicPeering', 'AzurePrivatePeering', + * 'MicrosoftPeering' + */ peeringType?: string; + /** + * The peering state. Possible values include: 'Disabled', 'Enabled' + */ state?: string; + /** + * The Azure ASN. + */ readonly azureASN?: number; + /** + * The peer ASN. + */ peerASN?: number; + /** + * The primary address prefix. + */ primaryPeerAddressPrefix?: string; + /** + * The secondary address prefix. + */ secondaryPeerAddressPrefix?: string; + /** + * The primary port. + */ readonly primaryAzurePort?: string; + /** + * The secondary port. + */ readonly secondaryAzurePort?: string; + /** + * The shared key. + */ sharedKey?: string; + /** + * The VLAN ID. + */ vlanId?: number; + /** + * The Microsoft peering configuration. + */ microsoftPeeringConfig?: ExpressRouteCircuitPeeringConfig; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The GatewayManager Etag. + */ gatewayManagerEtag?: string; + /** + * Gets whether the provider or the customer last modified the peering. + */ lastModifiedBy?: string; + /** + * The IPv6 peering configuration. + */ ipv6PeeringConfig?: Ipv6ExpressRouteCircuitPeeringConfig; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCrossConnection class. - * @constructor * ExpressRouteCrossConnection resource - * - * @property {string} [primaryAzurePort] The name of the primary port. - * @property {string} [secondaryAzurePort] The name of the secondary port. - * @property {number} [sTag] The identifier of the circuit traffic. - * @property {string} [peeringLocation] The peering location of the - * ExpressRoute circuit. - * @property {number} [bandwidthInMbps] The circuit bandwidth In Mbps. - * @property {object} [expressRouteCircuit] The ExpressRouteCircuit - * @property {string} [expressRouteCircuit.id] Corresponding Express Route - * Circuit Id. - * @property {string} [serviceProviderProvisioningState] The provisioning state - * of the circuit in the connectivity provider system. Possible values are - * 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: - * 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' - * @property {string} [serviceProviderNotes] Additional read only notes set by - * the connectivity provider. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {array} [peerings] The list of peerings. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface ExpressRouteCrossConnection extends Resource { + /** + * The name of the primary port. + */ readonly primaryAzurePort?: string; + /** + * The name of the secondary port. + */ readonly secondaryAzurePort?: string; + /** + * The identifier of the circuit traffic. + */ readonly sTag?: number; + /** + * The peering location of the ExpressRoute circuit. + */ peeringLocation?: string; + /** + * The circuit bandwidth In Mbps. + */ bandwidthInMbps?: number; + /** + * The ExpressRouteCircuit + */ expressRouteCircuit?: ExpressRouteCircuitReference; + /** + * The provisioning state of the circuit in the connectivity provider system. Possible values are + * 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: 'NotProvisioned', + * 'Provisioning', 'Provisioned', 'Deprovisioning' + */ serviceProviderProvisioningState?: string; + /** + * Additional read only notes set by the connectivity provider. + */ serviceProviderNotes?: string; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The list of peerings. + */ peerings?: ExpressRouteCrossConnectionPeering[]; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the VirtualHubId class. - * @constructor * Virtual Hub identifier. - * - * @property {string} [id] The resource URI for the Virtual Hub where the - * ExpressRoute gateway is or will be deployed. The Virtual Hub resource and - * the ExpressRoute gateway resource reside in the same subscription. - */ +*/ export interface VirtualHubId { + /** + * The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. + * The Virtual Hub resource and the ExpressRoute gateway resource reside in the same + * subscription. + */ id?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitPeeringId class. - * @constructor * ExpressRoute circuit peering identifier. - * - * @property {string} [id] The ID of the ExpressRoute circuit peering. - */ +*/ export interface ExpressRouteCircuitPeeringId { + /** + * The ID of the ExpressRoute circuit peering. + */ id?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds class. - * @constructor * Minimum and maximum number of scale units to deploy. - * - * @property {number} [min] Minimum number of scale units deployed for - * ExpressRoute gateway. - * @property {number} [max] Maximum number of scale units deployed for - * ExpressRoute gateway. - */ +*/ export interface ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds { + /** + * Minimum number of scale units deployed for ExpressRoute gateway. + */ min?: number; + /** + * Maximum number of scale units deployed for ExpressRoute gateway. + */ max?: number; } /** - * @class - * Initializes a new instance of the ExpressRouteGatewayPropertiesAutoScaleConfiguration class. - * @constructor * Configuration for auto scaling. - * - * @property {object} [bounds] Minimum and maximum number of scale units to - * deploy. - * @property {number} [bounds.min] Minimum number of scale units deployed for - * ExpressRoute gateway. - * @property {number} [bounds.max] Maximum number of scale units deployed for - * ExpressRoute gateway. - */ +*/ export interface ExpressRouteGatewayPropertiesAutoScaleConfiguration { + /** + * Minimum and maximum number of scale units to deploy. + */ bounds?: ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds; } /** - * @class - * Initializes a new instance of the ExpressRouteConnection class. - * @constructor * ExpressRouteConnection resource. - * - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {object} expressRouteCircuitPeering The ExpressRoute circuit - * peering. - * @property {string} [expressRouteCircuitPeering.id] The ID of the - * ExpressRoute circuit peering. - * @property {string} [authorizationKey] Authorization key to establish the - * connection. - * @property {number} [routingWeight] The routing weight associated to the - * connection. - * @property {string} name The name of the resource. - */ +*/ export interface ExpressRouteConnection extends SubResource { + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ readonly provisioningState?: string; + /** + * The ExpressRoute circuit peering. + */ expressRouteCircuitPeering: ExpressRouteCircuitPeeringId; + /** + * Authorization key to establish the connection. + */ authorizationKey?: string; + /** + * The routing weight associated to the connection. + */ routingWeight?: number; + /** + * The name of the resource. + */ name: string; } /** - * @class - * Initializes a new instance of the ExpressRouteGateway class. - * @constructor * ExpressRoute gateway resource. - * - * @property {object} [autoScaleConfiguration] Configuration for auto scaling. - * @property {object} [autoScaleConfiguration.bounds] Minimum and maximum - * number of scale units to deploy. - * @property {number} [autoScaleConfiguration.bounds.min] Minimum number of - * scale units deployed for ExpressRoute gateway. - * @property {number} [autoScaleConfiguration.bounds.max] Maximum number of - * scale units deployed for ExpressRoute gateway. - * @property {array} [expressRouteConnections] List of ExpressRoute connections - * to the ExpressRoute gateway. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {object} virtualHub The Virtual Hub where the ExpressRoute gateway - * is or will be deployed. - * @property {string} [virtualHub.id] The resource URI for the Virtual Hub - * where the ExpressRoute gateway is or will be deployed. The Virtual Hub - * resource and the ExpressRoute gateway resource reside in the same - * subscription. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ExpressRouteGateway extends Resource { + /** + * Configuration for auto scaling. + */ autoScaleConfiguration?: ExpressRouteGatewayPropertiesAutoScaleConfiguration; + /** + * List of ExpressRoute connections to the ExpressRoute gateway. + */ readonly expressRouteConnections?: ExpressRouteConnection[]; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ readonly provisioningState?: string; + /** + * The Virtual Hub where the ExpressRoute gateway is or will be deployed. + */ virtualHub: VirtualHubId; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteGatewayList class. - * @constructor * List of ExpressRoute gateways. - * - * @property {array} [value] List of ExpressRoute gateways. - */ +*/ export interface ExpressRouteGatewayList { + /** + * List of ExpressRoute gateways. + */ value?: ExpressRouteGateway[]; } /** - * @class - * Initializes a new instance of the ExpressRouteConnectionList class. - * @constructor * ExpressRouteConnection list - * - * @property {array} [value] The list of ExpressRoute connections - */ +*/ export interface ExpressRouteConnectionList { + /** + * The list of ExpressRoute connections + */ value?: ExpressRouteConnection[]; } /** - * @class - * Initializes a new instance of the ExpressRoutePortsLocationBandwidths class. - * @constructor * @summary ExpressRoutePorts Location Bandwidths - * - * Real-time inventory of available ExpressRoute port bandwidths. - * - * @property {string} [offerName] Bandwidth descriptive name - * @property {number} [valueInGbps] Bandwidth value in Gbps - */ + * @description Real-time inventory of available ExpressRoute port bandwidths. +*/ export interface ExpressRoutePortsLocationBandwidths { + /** + * Bandwidth descriptive name + */ readonly offerName?: string; + /** + * Bandwidth value in Gbps + */ readonly valueInGbps?: number; } /** - * @class - * Initializes a new instance of the ExpressRoutePortsLocation class. - * @constructor * @summary ExpressRoutePorts Peering Location - * - * Definition of the ExpressRoutePorts peering location resource. - * - * @property {string} [address] Address of peering location. - * @property {string} [contact] Contact details of peering locations. - * @property {array} [availableBandwidths] The inventory of available - * ExpressRoutePort bandwidths. - * @property {string} [provisioningState] The provisioning state of the - * ExpressRoutePortLocation resource. Possible values are: 'Succeeded', - * 'Updating', 'Deleting', and 'Failed'. - */ + * @description Definition of the ExpressRoutePorts peering location resource. +*/ export interface ExpressRoutePortsLocation extends Resource { + /** + * Address of peering location. + */ readonly address?: string; + /** + * Contact details of peering locations. + */ readonly contact?: string; + /** + * The inventory of available ExpressRoutePort bandwidths. + */ availableBandwidths?: ExpressRoutePortsLocationBandwidths[]; + /** + * The provisioning state of the ExpressRoutePortLocation resource. Possible values are: + * 'Succeeded', 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteLink class. - * @constructor * @summary ExpressRouteLink - * - * ExpressRouteLink child resource definition. - * - * @property {string} [routerName] Name of Azure router associated with - * physical port. - * @property {string} [interfaceName] Name of Azure router interface. - * @property {string} [patchPanelId] Mapping between physical port to patch - * panel port. - * @property {string} [rackId] Mapping of physical patch panel to rack. - * @property {string} [connectorType] Physical fiber port type. Possible values - * include: 'LC', 'SC' - * @property {string} [adminState] Administrative state of the physical port. - * Possible values include: 'Enabled', 'Disabled' - * @property {string} [provisioningState] The provisioning state of the - * ExpressRouteLink resource. Possible values are: 'Succeeded', 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [name] Name of child port resource that is unique among - * child port resources of the parent. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ + * @description ExpressRouteLink child resource definition. +*/ export interface ExpressRouteLink extends SubResource { + /** + * Name of Azure router associated with physical port. + */ readonly routerName?: string; + /** + * Name of Azure router interface. + */ readonly interfaceName?: string; + /** + * Mapping between physical port to patch panel port. + */ readonly patchPanelId?: string; + /** + * Mapping of physical patch panel to rack. + */ readonly rackId?: string; + /** + * Physical fiber port type. Possible values include: 'LC', 'SC' + */ readonly connectorType?: string; + /** + * Administrative state of the physical port. Possible values include: 'Enabled', 'Disabled' + */ adminState?: string; + /** + * The provisioning state of the ExpressRouteLink resource. Possible values are: 'Succeeded', + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * Name of child port resource that is unique among child port resources of the parent. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the ExpressRoutePort class. - * @constructor * @summary ExpressRoute Port - * - * ExpressRoutePort resource definition. - * - * @property {string} [peeringLocation] The name of the peering location that - * the ExpressRoutePort is mapped to physically. - * @property {number} [bandwidthInGbps] Bandwidth of procured ports in Gbps - * @property {number} [provisionedBandwidthInGbps] Aggregate Gbps of associated - * circuit bandwidths. - * @property {string} [mtu] Maximum transmission unit of the physical port - * pair(s) - * @property {string} [encapsulation] Encapsulation method on physical ports. - * Possible values include: 'Dot1Q', 'QinQ' - * @property {string} [etherType] Ethertype of the physical port. - * @property {string} [allocationDate] Date of the physical port allocation to - * be used in Letter of Authorization. - * @property {array} [links] ExpressRouteLink Sub-Resources. The set of - * physical links of the ExpressRoutePort resource - * @property {array} [circuits] Reference the ExpressRoute circuit(s) that are - * provisioned on this ExpressRoutePort resource. - * @property {string} [provisioningState] The provisioning state of the - * ExpressRoutePort resource. Possible values are: 'Succeeded', 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [resourceGuid] The resource GUID property of the - * ExpressRoutePort resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ + * @description ExpressRoutePort resource definition. +*/ export interface ExpressRoutePort extends Resource { + /** + * The name of the peering location that the ExpressRoutePort is mapped to physically. + */ peeringLocation?: string; + /** + * Bandwidth of procured ports in Gbps + */ bandwidthInGbps?: number; + /** + * Aggregate Gbps of associated circuit bandwidths. + */ readonly provisionedBandwidthInGbps?: number; + /** + * Maximum transmission unit of the physical port pair(s) + */ readonly mtu?: string; + /** + * Encapsulation method on physical ports. Possible values include: 'Dot1Q', 'QinQ' + */ encapsulation?: string; + /** + * Ethertype of the physical port. + */ readonly etherType?: string; + /** + * Date of the physical port allocation to be used in Letter of Authorization. + */ readonly allocationDate?: string; + /** + * @summary ExpressRouteLink Sub-Resources + * @description The set of physical links of the ExpressRoutePort resource + */ links?: ExpressRouteLink[]; + /** + * Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource. + */ readonly circuits?: SubResource[]; + /** + * The provisioning state of the ExpressRoutePort resource. Possible values are: 'Succeeded', + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The resource GUID property of the ExpressRoutePort resource. + */ resourceGuid?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the LoadBalancerSku class. - * @constructor * SKU of a load balancer - * - * @property {string} [name] Name of a load balancer SKU. Possible values - * include: 'Basic', 'Standard' - */ +*/ export interface LoadBalancerSku { + /** + * Name of a load balancer SKU. Possible values include: 'Basic', 'Standard' + */ name?: string; } /** - * @class - * Initializes a new instance of the LoadBalancingRule class. - * @constructor * A load balancing rule for a load balancer. - * - * @property {object} [frontendIPConfiguration] A reference to frontend IP - * addresses. - * @property {string} [frontendIPConfiguration.id] Resource ID. - * @property {object} [backendAddressPool] A reference to a pool of DIPs. - * Inbound traffic is randomly load balanced across IPs in the backend IPs. - * @property {string} [backendAddressPool.id] Resource ID. - * @property {object} [probe] The reference of the load balancer probe used by - * the load balancing rule. - * @property {string} [probe.id] Resource ID. - * @property {string} protocol Possible values include: 'Udp', 'Tcp', 'All' - * @property {string} [loadDistribution] The load distribution policy for this - * rule. Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'. - * Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' - * @property {number} frontendPort The port for the external endpoint. Port - * numbers for each rule must be unique within the Load Balancer. Acceptable - * values are between 0 and 65534. Note that value 0 enables "Any Port" - * @property {number} [backendPort] The port used for internal connections on - * the endpoint. Acceptable values are between 0 and 65535. Note that value 0 - * enables "Any Port" - * @property {number} [idleTimeoutInMinutes] The timeout for the TCP idle - * connection. The value can be set between 4 and 30 minutes. The default value - * is 4 minutes. This element is only used when the protocol is set to TCP. - * @property {boolean} [enableFloatingIP] Configures a virtual machine's - * endpoint for the floating IP capability required to configure a SQL AlwaysOn - * Availability Group. This setting is required when using the SQL AlwaysOn - * Availability Groups in SQL server. This setting can't be changed after you - * create the endpoint. - * @property {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. - * @property {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. - * @property {string} [provisioningState] Gets the provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface LoadBalancingRule extends SubResource { + /** + * A reference to frontend IP addresses. + */ frontendIPConfiguration?: SubResource; + /** + * A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the + * backend IPs. + */ backendAddressPool?: SubResource; + /** + * The reference of the load balancer probe used by the load balancing rule. + */ probe?: SubResource; + /** + * Possible values include: 'Udp', 'Tcp', 'All' + */ protocol: string; + /** + * The load distribution policy for this rule. Possible values are 'Default', 'SourceIP', and + * 'SourceIPProtocol'. Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + */ loadDistribution?: string; + /** + * The port for the external endpoint. Port numbers for each rule must be unique within the Load + * Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port" + */ frontendPort: number; + /** + * The port used for internal connections on the endpoint. Acceptable values are between 0 and + * 65535. Note that value 0 enables "Any Port" + */ backendPort?: number; + /** + * The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + * default value is 4 minutes. This element is only used when the protocol is set to TCP. + */ idleTimeoutInMinutes?: number; + /** + * Configures a virtual machine's endpoint for the floating IP capability required to configure a + * SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn + * Availability Groups in SQL server. This setting can't be changed after you create the + * endpoint. + */ enableFloatingIP?: boolean; + /** + * 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. + */ enableTcpReset?: boolean; + /** + * Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + * frontend of the load balancing rule. + */ disableOutboundSnat?: boolean; + /** + * Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the Probe class. - * @constructor * A load balancer probe. - * - * @property {array} [loadBalancingRules] The load balancer rules that use this - * probe. - * @property {string} protocol The protocol of the end point. Possible values - * are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is - * required for the probe to be successful. If 'Http' or 'Https' is specified, - * a 200 OK response from the specifies URI is required for the probe to be - * successful. Possible values include: 'Http', 'Tcp', 'Https' - * @property {number} port The port for communicating the probe. Possible - * values range from 1 to 65535, inclusive. - * @property {number} [intervalInSeconds] The interval, in seconds, for how - * frequently to probe the endpoint for health status. Typically, the interval - * is slightly less than half the allocated timeout period (in seconds) which - * allows two full probes before taking the instance out of rotation. The - * default value is 15, the minimum value is 5. - * @property {number} [numberOfProbes] The number of probes where if no - * response, will result in stopping further traffic from being delivered to - * the endpoint. This values allows endpoints to be taken out of rotation - * faster or slower than the typical times used in Azure. - * @property {string} [requestPath] The URI used for requesting health status - * from the VM. Path is required if a protocol is set to http. Otherwise, it is - * not allowed. There is no default value. - * @property {string} [provisioningState] Gets the provisioning state of the - * public IP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] Gets name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface Probe extends SubResource { + /** + * The load balancer rules that use this probe. + */ readonly loadBalancingRules?: SubResource[]; + /** + * The protocol of the end point. Possible values are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is + * specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is + * specified, a 200 OK response from the specifies URI is required for the probe to be + * successful. Possible values include: 'Http', 'Tcp', 'Https' + */ protocol: string; + /** + * The port for communicating the probe. Possible values range from 1 to 65535, inclusive. + */ port: number; + /** + * The interval, in seconds, for how frequently to probe the endpoint for health status. + * Typically, the interval is slightly less than half the allocated timeout period (in seconds) + * which allows two full probes before taking the instance out of rotation. The default value is + * 15, the minimum value is 5. + */ intervalInSeconds?: number; + /** + * The number of probes where if no response, will result in stopping further traffic from being + * delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or + * slower than the typical times used in Azure. + */ numberOfProbes?: number; + /** + * The URI used for requesting health status from the VM. Path is required if a protocol is set + * to http. Otherwise, it is not allowed. There is no default value. + */ requestPath?: string; + /** + * Gets the provisioning state of the public IP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Gets name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the InboundNatPool class. - * @constructor * Inbound NAT pool of the load balancer. - * - * @property {object} [frontendIPConfiguration] A reference to frontend IP - * addresses. - * @property {string} [frontendIPConfiguration.id] Resource ID. - * @property {string} protocol Possible values include: 'Udp', 'Tcp', 'All' - * @property {number} frontendPortRangeStart The first port number in the range - * of external ports that will be used to provide Inbound Nat to NICs - * associated with a load balancer. Acceptable values range between 1 and - * 65534. - * @property {number} frontendPortRangeEnd The last port number in the range of - * external ports that will be used to provide Inbound Nat to NICs associated - * with a load balancer. Acceptable values range between 1 and 65535. - * @property {number} backendPort The port used for internal connections on the - * endpoint. Acceptable values are between 1 and 65535. - * @property {number} [idleTimeoutInMinutes] The timeout for the TCP idle - * connection. The value can be set between 4 and 30 minutes. The default value - * is 4 minutes. This element is only used when the protocol is set to TCP. - * @property {boolean} [enableFloatingIP] Configures a virtual machine's - * endpoint for the floating IP capability required to configure a SQL AlwaysOn - * Availability Group. This setting is required when using the SQL AlwaysOn - * Availability Groups in SQL server. This setting can't be changed after you - * create the endpoint. - * @property {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. - * @property {string} [provisioningState] Gets the provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface InboundNatPool extends SubResource { + /** + * A reference to frontend IP addresses. + */ frontendIPConfiguration?: SubResource; + /** + * Possible values include: 'Udp', 'Tcp', 'All' + */ protocol: string; + /** + * The first port number in the range of external ports that will be used to provide Inbound Nat + * to NICs associated with a load balancer. Acceptable values range between 1 and 65534. + */ frontendPortRangeStart: number; + /** + * The last port number in the range of external ports that will be used to provide Inbound Nat + * to NICs associated with a load balancer. Acceptable values range between 1 and 65535. + */ frontendPortRangeEnd: number; + /** + * The port used for internal connections on the endpoint. Acceptable values are between 1 and + * 65535. + */ backendPort: number; + /** + * The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + * default value is 4 minutes. This element is only used when the protocol is set to TCP. + */ idleTimeoutInMinutes?: number; + /** + * Configures a virtual machine's endpoint for the floating IP capability required to configure a + * SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn + * Availability Groups in SQL server. This setting can't be changed after you create the + * endpoint. + */ enableFloatingIP?: boolean; + /** + * 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. + */ enableTcpReset?: boolean; + /** + * Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the OutboundRule class. - * @constructor * Outbound pool of the load balancer. - * - * @property {number} [allocatedOutboundPorts] The number of outbound ports to - * be used for NAT. - * @property {array} frontendIPConfigurations The Frontend IP addresses of the - * load balancer. - * @property {object} backendAddressPool A reference to a pool of DIPs. - * Outbound traffic is randomly load balanced across IPs in the backend IPs. - * @property {string} [backendAddressPool.id] Resource ID. - * @property {string} [provisioningState] Gets the provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} protocol Protocol - TCP, UDP or All. Possible values - * include: 'Tcp', 'Udp', 'All' - * @property {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. - * @property {number} [idleTimeoutInMinutes] The timeout for the TCP idle - * connection - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface OutboundRule extends SubResource { + /** + * The number of outbound ports to be used for NAT. + */ allocatedOutboundPorts?: number; + /** + * The Frontend IP addresses of the load balancer. + */ frontendIPConfigurations: SubResource[]; + /** + * A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the + * backend IPs. + */ backendAddressPool: SubResource; + /** + * Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * Protocol - TCP, UDP or All. Possible values include: 'Tcp', 'Udp', 'All' + */ protocol: string; + /** + * 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. + */ enableTcpReset?: boolean; + /** + * The timeout for the TCP idle connection + */ idleTimeoutInMinutes?: number; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the LoadBalancer class. - * @constructor * LoadBalancer resource - * - * @property {object} [sku] The load balancer SKU. - * @property {string} [sku.name] Name of a load balancer SKU. Possible values - * include: 'Basic', 'Standard' - * @property {array} [frontendIPConfigurations] Object representing the - * frontend IPs to be used for the load balancer - * @property {array} [backendAddressPools] Collection of backend address pools - * used by a load balancer - * @property {array} [loadBalancingRules] Object collection representing the - * load balancing rules Gets the provisioning - * @property {array} [probes] Collection of probe objects used in the load - * balancer - * @property {array} [inboundNatRules] Collection of inbound NAT Rules used by - * a load balancer. Defining inbound NAT rules on your load balancer is - * mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are - * referenced from virtual machine scale sets. NICs that are associated with - * individual virtual machines cannot reference an Inbound NAT pool. They have - * to reference individual inbound NAT rules. - * @property {array} [inboundNatPools] Defines an external port range for - * inbound NAT to a single backend port on NICs associated with a load - * balancer. Inbound NAT rules are created automatically for each NIC - * associated with the Load Balancer using an external port from this range. - * Defining an Inbound NAT pool on your Load Balancer is mutually exclusive - * with defining inbound Nat rules. Inbound NAT pools are referenced from - * virtual machine scale sets. NICs that are associated with individual virtual - * machines cannot reference an inbound NAT pool. They have to reference - * individual inbound NAT rules. - * @property {array} [outboundRules] The outbound rules. - * @property {string} [resourceGuid] The resource GUID property of the load - * balancer resource. - * @property {string} [provisioningState] Gets the provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface LoadBalancer extends Resource { + /** + * The load balancer SKU. + */ sku?: LoadBalancerSku; + /** + * Object representing the frontend IPs to be used for the load balancer + */ frontendIPConfigurations?: FrontendIPConfiguration[]; + /** + * Collection of backend address pools used by a load balancer + */ backendAddressPools?: BackendAddressPool[]; + /** + * Object collection representing the load balancing rules Gets the provisioning + */ loadBalancingRules?: LoadBalancingRule[]; + /** + * Collection of probe objects used in the load balancer + */ probes?: Probe[]; + /** + * Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your + * load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are + * referenced from virtual machine scale sets. NICs that are associated with individual virtual + * machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT + * rules. + */ inboundNatRules?: InboundNatRule[]; + /** + * Defines an external port range for inbound NAT to a single backend port on NICs associated + * with a load balancer. Inbound NAT rules are created automatically for each NIC associated with + * the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your + * Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are + * referenced from virtual machine scale sets. NICs that are associated with individual virtual + * machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT + * rules. + */ inboundNatPools?: InboundNatPool[]; + /** + * The outbound rules. + */ outboundRules?: OutboundRule[]; + /** + * The resource GUID property of the load balancer resource. + */ resourceGuid?: string; + /** + * Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ErrorDetails class. - * @constructor - * @property {string} [code] - * @property {string} [target] - * @property {string} [message] - */ -export interface ErrorDetails { - code?: string; - target?: string; - message?: string; -} - -/** - * @class - * Initializes a new instance of the ErrorModel class. - * @constructor - * @property {string} [code] - * @property {string} [message] - * @property {string} [target] - * @property {array} [details] - * @property {string} [innerError] - */ -export interface ErrorModel { - code?: string; - message?: string; - target?: string; - details?: ErrorDetails[]; - innerError?: string; -} - -/** - * @class - * Initializes a new instance of the AzureAsyncOperationResult class. - * @constructor - * The response body contains the status of the specified asynchronous - * operation, indicating whether it has succeeded, is in progress, or has - * failed. Note that this status is distinct from the HTTP status code returned - * for the Get Operation Status operation itself. If the asynchronous operation - * succeeded, the response body includes the HTTP status code for the - * successful request. If the asynchronous operation failed, the response body - * includes the HTTP status code for the failed request and error information - * regarding the failure. - * - * @property {string} [status] Status of the Azure async operation. Possible - * values are: 'InProgress', 'Succeeded', and 'Failed'. Possible values - * include: 'InProgress', 'Succeeded', 'Failed' - * @property {object} [error] - * @property {string} [error.code] - * @property {string} [error.message] - * @property {string} [error.target] - * @property {array} [error.details] - * @property {string} [error.innerError] - */ + * The response body contains the status of the specified asynchronous operation, indicating + * whether it has succeeded, is in progress, or has failed. Note that this status is distinct from + * the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous + * operation succeeded, the response body includes the HTTP status code for the successful request. + * If the asynchronous operation failed, the response body includes the HTTP status code for the + * failed request and error information regarding the failure. +*/ export interface AzureAsyncOperationResult { + /** + * Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and + * 'Failed'. Possible values include: 'InProgress', 'Succeeded', 'Failed' + */ status?: string; error?: ErrorModel; } /** - * @class - * Initializes a new instance of the EffectiveNetworkSecurityGroupAssociation class. - * @constructor * The effective network security group association. - * - * @property {object} [subnet] The ID of the subnet if assigned. - * @property {string} [subnet.id] Resource ID. - * @property {object} [networkInterface] The ID of the network interface if - * assigned. - * @property {string} [networkInterface.id] Resource ID. - */ +*/ export interface EffectiveNetworkSecurityGroupAssociation { + /** + * The ID of the subnet if assigned. + */ subnet?: SubResource; + /** + * The ID of the network interface if assigned. + */ networkInterface?: SubResource; } /** - * @class - * Initializes a new instance of the EffectiveNetworkSecurityRule class. - * @constructor * Effective network security rules. - * - * @property {string} [name] The name of the security rule specified by the - * user (if created by the user). - * @property {string} [protocol] The network protocol this rule applies to. - * Possible values are: 'Tcp', 'Udp', and 'All'. Possible values include: - * 'Tcp', 'Udp', 'All' - * @property {string} [sourcePortRange] The source port or range. - * @property {string} [destinationPortRange] The destination port or range. - * @property {array} [sourcePortRanges] The source port ranges. Expected values - * include a single integer between 0 and 65535, a range using '-' as seperator - * (e.g. 100-400), or an asterix (*) - * @property {array} [destinationPortRanges] The destination port ranges. - * Expected values include a single integer between 0 and 65535, a range using - * '-' as seperator (e.g. 100-400), or an asterix (*) - * @property {string} [sourceAddressPrefix] The source address prefix. - * @property {string} [destinationAddressPrefix] The destination address - * prefix. - * @property {array} [sourceAddressPrefixes] The source address prefixes. - * Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, - * AureLoadBalancer, Internet), System Tags, and the asterix (*). - * @property {array} [destinationAddressPrefixes] The destination address - * prefixes. Expected values include CIDR IP ranges, Default Tags - * (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix - * (*). - * @property {array} [expandedSourceAddressPrefix] The expanded source address - * prefix. - * @property {array} [expandedDestinationAddressPrefix] Expanded destination - * address prefix. - * @property {string} [access] Whether network traffic is allowed or denied. - * Possible values are: 'Allow' and 'Deny'. Possible values include: 'Allow', - * 'Deny' - * @property {number} [priority] The priority of the rule. - * @property {string} [direction] The direction of the rule. Possible values - * are: 'Inbound and Outbound'. Possible values include: 'Inbound', 'Outbound' - */ +*/ export interface EffectiveNetworkSecurityRule { + /** + * The name of the security rule specified by the user (if created by the user). + */ name?: string; + /** + * The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', and 'All'. + * Possible values include: 'Tcp', 'Udp', 'All' + */ protocol?: string; + /** + * The source port or range. + */ sourcePortRange?: string; + /** + * The destination port or range. + */ destinationPortRange?: string; + /** + * The source port ranges. Expected values include a single integer between 0 and 65535, a range + * using '-' as seperator (e.g. 100-400), or an asterix (*) + */ sourcePortRanges?: string[]; + /** + * The destination port ranges. Expected values include a single integer between 0 and 65535, a + * range using '-' as seperator (e.g. 100-400), or an asterix (*) + */ destinationPortRanges?: string[]; + /** + * The source address prefix. + */ sourceAddressPrefix?: string; + /** + * The destination address prefix. + */ destinationAddressPrefix?: string; + /** + * The source address prefixes. Expected values include CIDR IP ranges, Default Tags + * (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*). + */ sourceAddressPrefixes?: string[]; + /** + * The destination address prefixes. Expected values include CIDR IP ranges, Default Tags + * (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*). + */ destinationAddressPrefixes?: string[]; + /** + * The expanded source address prefix. + */ expandedSourceAddressPrefix?: string[]; + /** + * Expanded destination address prefix. + */ expandedDestinationAddressPrefix?: string[]; + /** + * Whether network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'. + * Possible values include: 'Allow', 'Deny' + */ access?: string; + /** + * The priority of the rule. + */ priority?: number; + /** + * The direction of the rule. Possible values are: 'Inbound and Outbound'. Possible values + * include: 'Inbound', 'Outbound' + */ direction?: string; } /** - * @class - * Initializes a new instance of the EffectiveNetworkSecurityGroup class. - * @constructor * Effective network security group. - * - * @property {object} [networkSecurityGroup] The ID of network security group - * that is applied. - * @property {string} [networkSecurityGroup.id] Resource ID. - * @property {object} [association] Associated resources. - * @property {object} [association.subnet] The ID of the subnet if assigned. - * @property {string} [association.subnet.id] Resource ID. - * @property {object} [association.networkInterface] The ID of the network - * interface if assigned. - * @property {string} [association.networkInterface.id] Resource ID. - * @property {array} [effectiveSecurityRules] A collection of effective - * security rules. - * @property {object} [tagMap] Mapping of tags to list of IP Addresses included - * within the tag. - */ +*/ export interface EffectiveNetworkSecurityGroup { + /** + * The ID of network security group that is applied. + */ networkSecurityGroup?: SubResource; + /** + * Associated resources. + */ association?: EffectiveNetworkSecurityGroupAssociation; + /** + * A collection of effective security rules. + */ effectiveSecurityRules?: EffectiveNetworkSecurityRule[]; + /** + * Mapping of tags to list of IP Addresses included within the tag. + */ tagMap?: { [propertyName: string]: string[] }; } /** - * @class - * Initializes a new instance of the EffectiveNetworkSecurityGroupListResult class. - * @constructor * Response for list effective network security groups API service call. - * - * @property {array} [value] A list of effective network security groups. - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface EffectiveNetworkSecurityGroupListResult { + /** + * A list of effective network security groups. + */ value?: EffectiveNetworkSecurityGroup[]; + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the EffectiveRoute class. - * @constructor * Effective Route - * - * @property {string} [name] The name of the user defined route. This is - * optional. - * @property {string} [source] Who created the route. Possible values are: - * 'Unknown', 'User', 'VirtualNetworkGateway', and 'Default'. Possible values - * include: 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' - * @property {string} [state] The value of effective route. Possible values - * are: 'Active' and 'Invalid'. Possible values include: 'Active', 'Invalid' - * @property {array} [addressPrefix] The address prefixes of the effective - * routes in CIDR notation. - * @property {array} [nextHopIpAddress] The IP address of the next hop of the - * effective route. - * @property {string} [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' - */ +*/ export interface EffectiveRoute { + /** + * The name of the user defined route. This is optional. + */ name?: string; + /** + * Who created the route. Possible values are: 'Unknown', 'User', 'VirtualNetworkGateway', and + * 'Default'. Possible values include: 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' + */ source?: string; + /** + * The value of effective route. Possible values are: 'Active' and 'Invalid'. Possible values + * include: 'Active', 'Invalid' + */ state?: string; + /** + * The address prefixes of the effective routes in CIDR notation. + */ addressPrefix?: string[]; + /** + * The IP address of the next hop of the effective route. + */ nextHopIpAddress?: string[]; + /** + * 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' + */ nextHopType?: string; } /** - * @class - * Initializes a new instance of the EffectiveRouteListResult class. - * @constructor * Response for list effective route API service call. - * - * @property {array} [value] A list of effective routes. - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface EffectiveRouteListResult { + /** + * A list of effective routes. + */ value?: EffectiveRoute[]; + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the ContainerNetworkInterfaceConfiguration class. - * @constructor * Container network interface configruation child resource. - * - * @property {array} [ipConfigurations] A list of ip configurations of the - * container network interface configuration. - * @property {array} [containerNetworkInterfaces] A list of container network - * interfaces created from this container network interface configuration. - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [name] The name of the resource. This name can be used to - * access the resource. - * @property {string} [type] Sub Resource type. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ContainerNetworkInterfaceConfiguration extends SubResource { + /** + * A list of ip configurations of the container network interface configuration. + */ ipConfigurations?: IPConfigurationProfile[]; + /** + * A list of container network interfaces created from this container network interface + * configuration. + */ containerNetworkInterfaces?: SubResource[]; + /** + * The provisioning state of the resource. + */ readonly provisioningState?: string; + /** + * The name of the resource. This name can be used to access the resource. + */ name?: string; + /** + * Sub Resource type. + */ readonly type?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the Container class. - * @constructor * Reference to container resource in remote resource provider. - * - */ +*/ export interface Container extends SubResource { } /** - * @class - * Initializes a new instance of the ContainerNetworkInterfaceIpConfiguration class. - * @constructor * The ip configuration for a container network interface. - * - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [name] The name of the resource. This name can be used to - * access the resource. - * @property {string} [type] Sub Resource type. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ContainerNetworkInterfaceIpConfiguration { + /** + * The provisioning state of the resource. + */ readonly provisioningState?: string; + /** + * The name of the resource. This name can be used to access the resource. + */ name?: string; + /** + * Sub Resource type. + */ readonly type?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ContainerNetworkInterface class. - * @constructor * Container network interface child resource. - * - * @property {object} [containerNetworkInterfaceConfiguration] Container - * network interface configuration from which this container network interface - * is created. - * @property {array} [containerNetworkInterfaceConfiguration.ipConfigurations] - * A list of ip configurations of the container network interface - * configuration. - * @property {array} - * [containerNetworkInterfaceConfiguration.containerNetworkInterfaces] A list - * of container network interfaces created from this container network - * interface configuration. - * @property {string} - * [containerNetworkInterfaceConfiguration.provisioningState] The provisioning - * state of the resource. - * @property {string} [containerNetworkInterfaceConfiguration.name] The name of - * the resource. This name can be used to access the resource. - * @property {string} [containerNetworkInterfaceConfiguration.type] Sub - * Resource type. - * @property {string} [containerNetworkInterfaceConfiguration.etag] A unique - * read-only string that changes whenever the resource is updated. - * @property {object} [container] Reference to the conatinaer to which this - * container network interface is attached. - * @property {array} [ipConfigurations] Reference to the ip configuration on - * this container nic. - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [name] The name of the resource. This name can be used to - * access the resource. - * @property {string} [type] Sub Resource type. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface ContainerNetworkInterface extends SubResource { + /** + * Container network interface configuration from which this container network interface is + * created. + */ containerNetworkInterfaceConfiguration?: ContainerNetworkInterfaceConfiguration; + /** + * Reference to the conatinaer to which this container network interface is attached. + */ container?: Container; + /** + * Reference to the ip configuration on this container nic. + */ ipConfigurations?: ContainerNetworkInterfaceIpConfiguration[]; + /** + * The provisioning state of the resource. + */ readonly provisioningState?: string; + /** + * The name of the resource. This name can be used to access the resource. + */ name?: string; + /** + * Sub Resource type. + */ readonly type?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the NetworkProfile class. - * @constructor * Network profile resource. - * - * @property {array} [containerNetworkInterfaces] List of child container - * network interfaces. - * @property {array} [containerNetworkInterfaceConfigurations] List of chid - * container network interface configurations. - * @property {string} [resourceGuid] The resource GUID property of the network - * interface resource. - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface NetworkProfile extends Resource { + /** + * List of child container network interfaces. + */ containerNetworkInterfaces?: ContainerNetworkInterface[]; + /** + * List of chid container network interface configurations. + */ containerNetworkInterfaceConfigurations?: ContainerNetworkInterfaceConfiguration[]; + /** + * The resource GUID property of the network interface resource. + */ readonly resourceGuid?: string; + /** + * The provisioning state of the resource. + */ readonly provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ErrorResponse class. - * @constructor * The error object. - * - * @property {object} [error] Error. - * @property {string} [error.code] - * @property {string} [error.target] - * @property {string} [error.message] - */ +*/ export interface ErrorResponse { + /** + * @summary Error + */ error?: ErrorDetails; } /** - * @class - * Initializes a new instance of the NetworkWatcher class. - * @constructor * Network watcher in a resource group. - * - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - */ +*/ export interface NetworkWatcher extends Resource { + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ readonly provisioningState?: string; } /** - * @class - * Initializes a new instance of the TopologyParameters class. - * @constructor * Parameters that define the representation of topology. - * - * @property {string} [targetResourceGroupName] The name of the target resource - * group to perform topology on. - * @property {object} [targetVirtualNetwork] The reference of the Virtual - * Network resource. - * @property {string} [targetVirtualNetwork.id] Resource ID. - * @property {object} [targetSubnet] The reference of the Subnet resource. - * @property {string} [targetSubnet.id] Resource ID. - */ +*/ export interface TopologyParameters { + /** + * The name of the target resource group to perform topology on. + */ targetResourceGroupName?: string; + /** + * The reference of the Virtual Network resource. + */ targetVirtualNetwork?: SubResource; + /** + * The reference of the Subnet resource. + */ targetSubnet?: SubResource; } /** - * @class - * Initializes a new instance of the TopologyAssociation class. - * @constructor * Resources that have an association with the parent resource. - * - * @property {string} [name] The name of the resource that is associated with - * the parent resource. - * @property {string} [resourceId] The ID of the resource that is associated - * with the parent resource. - * @property {string} [associationType] The association type of the child - * resource to the parent resource. Possible values include: 'Associated', - * 'Contains' - */ +*/ export interface TopologyAssociation { + /** + * The name of the resource that is associated with the parent resource. + */ name?: string; + /** + * The ID of the resource that is associated with the parent resource. + */ resourceId?: string; + /** + * The association type of the child resource to the parent resource. Possible values include: + * 'Associated', 'Contains' + */ associationType?: string; } /** - * @class - * Initializes a new instance of the TopologyResource class. - * @constructor * The network resource topology information for the given resource group. - * - * @property {string} [name] Name of the resource. - * @property {string} [id] ID of the resource. - * @property {string} [location] Resource location. - * @property {array} [associations] Holds the associations the resource has - * with other resources in the resource group. - */ +*/ export interface TopologyResource { + /** + * Name of the resource. + */ name?: string; + /** + * ID of the resource. + */ id?: string; + /** + * Resource location. + */ location?: string; + /** + * Holds the associations the resource has with other resources in the resource group. + */ associations?: TopologyAssociation[]; } /** - * @class - * Initializes a new instance of the Topology class. - * @constructor * Topology of the specified resource group. - * - * @property {string} [id] GUID representing the operation id. - * @property {date} [createdDateTime] The datetime when the topology was - * initially created for the resource group. - * @property {date} [lastModified] The datetime when the topology was last - * modified. - * @property {array} [resources] - */ +*/ export interface Topology { + /** + * GUID representing the operation id. + */ readonly id?: string; + /** + * The datetime when the topology was initially created for the resource group. + */ readonly createdDateTime?: Date; + /** + * The datetime when the topology was last modified. + */ readonly lastModified?: Date; resources?: TopologyResource[]; } /** - * @class - * Initializes a new instance of the VerificationIPFlowParameters class. - * @constructor * Parameters that define the IP flow to be verified. - * - * @property {string} targetResourceId The ID of the target resource to perform - * next-hop on. - * @property {string} direction The direction of the packet represented as a - * 5-tuple. Possible values include: 'Inbound', 'Outbound' - * @property {string} protocol Protocol to be verified on. Possible values - * include: 'TCP', 'UDP' - * @property {string} localPort The local port. Acceptable values are a single - * integer in the range (0-65535). Support for * for the source port, which - * depends on the direction. - * @property {string} remotePort The remote port. Acceptable values are a - * single integer in the range (0-65535). Support for * for the source port, - * which depends on the direction. - * @property {string} localIPAddress The local IP address. Acceptable values - * are valid IPv4 addresses. - * @property {string} remoteIPAddress The remote IP address. Acceptable values - * are valid IPv4 addresses. - * @property {string} [targetNicResourceId] The NIC ID. (If VM has multiple - * NICs and IP forwarding is enabled on any of them, then this parameter must - * be specified. Otherwise optional). - */ +*/ export interface VerificationIPFlowParameters { + /** + * The ID of the target resource to perform next-hop on. + */ targetResourceId: string; + /** + * The direction of the packet represented as a 5-tuple. Possible values include: 'Inbound', + * 'Outbound' + */ direction: string; + /** + * Protocol to be verified on. Possible values include: 'TCP', 'UDP' + */ protocol: string; + /** + * The local port. Acceptable values are a single integer in the range (0-65535). Support for * + * for the source port, which depends on the direction. + */ localPort: string; + /** + * The remote port. Acceptable values are a single integer in the range (0-65535). Support for * + * for the source port, which depends on the direction. + */ remotePort: string; + /** + * The local IP address. Acceptable values are valid IPv4 addresses. + */ localIPAddress: string; + /** + * The remote IP address. Acceptable values are valid IPv4 addresses. + */ remoteIPAddress: string; + /** + * The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this + * parameter must be specified. Otherwise optional). + */ targetNicResourceId?: string; } /** - * @class - * Initializes a new instance of the VerificationIPFlowResult class. - * @constructor * Results of IP flow verification on the target resource. - * - * @property {string} [access] Indicates whether the traffic is allowed or - * denied. Possible values include: 'Allow', 'Deny' - * @property {string} [ruleName] Name of the rule. If input is not matched - * against any security rule, it is not displayed. - */ +*/ export interface VerificationIPFlowResult { + /** + * Indicates whether the traffic is allowed or denied. Possible values include: 'Allow', 'Deny' + */ access?: string; + /** + * Name of the rule. If input is not matched against any security rule, it is not displayed. + */ ruleName?: string; } /** - * @class - * Initializes a new instance of the NextHopParameters class. - * @constructor * Parameters that define the source and destination endpoint. - * - * @property {string} targetResourceId The resource identifier of the target - * resource against which the action is to be performed. - * @property {string} sourceIPAddress The source IP address. - * @property {string} destinationIPAddress The destination IP address. - * @property {string} [targetNicResourceId] The NIC ID. (If VM has multiple - * NICs and IP forwarding is enabled on any of the nics, then this parameter - * must be specified. Otherwise optional). - */ +*/ export interface NextHopParameters { + /** + * The resource identifier of the target resource against which the action is to be performed. + */ targetResourceId: string; + /** + * The source IP address. + */ sourceIPAddress: string; + /** + * The destination IP address. + */ destinationIPAddress: string; + /** + * The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then + * this parameter must be specified. Otherwise optional). + */ targetNicResourceId?: string; } /** - * @class - * Initializes a new instance of the NextHopResult class. - * @constructor * The information about next hop from the specified VM. - * - * @property {string} [nextHopType] Next hop type. Possible values include: - * 'Internet', 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', - * 'HyperNetGateway', 'None' - * @property {string} [nextHopIpAddress] Next hop IP Address - * @property {string} [routeTableId] The resource identifier for the route - * table associated with the route being returned. If the route being returned - * does not correspond to any user created routes then this field will be the - * string 'System Route'. - */ +*/ export interface NextHopResult { + /** + * Next hop type. Possible values include: 'Internet', 'VirtualAppliance', + * 'VirtualNetworkGateway', 'VnetLocal', 'HyperNetGateway', 'None' + */ nextHopType?: string; + /** + * Next hop IP Address + */ nextHopIpAddress?: string; + /** + * The resource identifier for the route table associated with the route being returned. If the + * route being returned does not correspond to any user created routes then this field will be + * the string 'System Route'. + */ routeTableId?: string; } /** - * @class - * Initializes a new instance of the SecurityGroupViewParameters class. - * @constructor * Parameters that define the VM to check security groups for. - * - * @property {string} targetResourceId ID of the target VM. - */ +*/ export interface SecurityGroupViewParameters { + /** + * ID of the target VM. + */ targetResourceId: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceAssociation class. - * @constructor * Network interface and its custom security rules. - * - * @property {string} [id] Network interface ID. - * @property {array} [securityRules] Collection of custom security rules. - */ +*/ export interface NetworkInterfaceAssociation { + /** + * Network interface ID. + */ readonly id?: string; + /** + * Collection of custom security rules. + */ securityRules?: SecurityRule[]; } /** - * @class - * Initializes a new instance of the SubnetAssociation class. - * @constructor * Network interface and its custom security rules. - * - * @property {string} [id] Subnet ID. - * @property {array} [securityRules] Collection of custom security rules. - */ +*/ export interface SubnetAssociation { + /** + * Subnet ID. + */ readonly id?: string; + /** + * Collection of custom security rules. + */ securityRules?: SecurityRule[]; } /** - * @class - * Initializes a new instance of the SecurityRuleAssociations class. - * @constructor * All security rules associated with the network interface. - * - * @property {object} [networkInterfaceAssociation] - * @property {string} [networkInterfaceAssociation.id] Network interface ID. - * @property {array} [networkInterfaceAssociation.securityRules] Collection of - * custom security rules. - * @property {object} [subnetAssociation] - * @property {string} [subnetAssociation.id] Subnet ID. - * @property {array} [subnetAssociation.securityRules] Collection of custom - * security rules. - * @property {array} [defaultSecurityRules] Collection of default security - * rules of the network security group. - * @property {array} [effectiveSecurityRules] Collection of effective security - * rules. - */ +*/ export interface SecurityRuleAssociations { networkInterfaceAssociation?: NetworkInterfaceAssociation; subnetAssociation?: SubnetAssociation; + /** + * Collection of default security rules of the network security group. + */ defaultSecurityRules?: SecurityRule[]; + /** + * Collection of effective security rules. + */ effectiveSecurityRules?: EffectiveNetworkSecurityRule[]; } /** - * @class - * Initializes a new instance of the SecurityGroupNetworkInterface class. - * @constructor * Network interface and all its associated security rules. - * - * @property {string} [id] ID of the network interface. - * @property {object} [securityRuleAssociations] - * @property {object} [securityRuleAssociations.networkInterfaceAssociation] - * @property {string} [securityRuleAssociations.networkInterfaceAssociation.id] - * Network interface ID. - * @property {array} - * [securityRuleAssociations.networkInterfaceAssociation.securityRules] - * Collection of custom security rules. - * @property {object} [securityRuleAssociations.subnetAssociation] - * @property {string} [securityRuleAssociations.subnetAssociation.id] Subnet - * ID. - * @property {array} [securityRuleAssociations.subnetAssociation.securityRules] - * Collection of custom security rules. - * @property {array} [securityRuleAssociations.defaultSecurityRules] Collection - * of default security rules of the network security group. - * @property {array} [securityRuleAssociations.effectiveSecurityRules] - * Collection of effective security rules. - */ +*/ export interface SecurityGroupNetworkInterface { + /** + * ID of the network interface. + */ id?: string; securityRuleAssociations?: SecurityRuleAssociations; } /** - * @class - * Initializes a new instance of the SecurityGroupViewResult class. - * @constructor * The information about security rules applied to the specified VM. - * - * @property {array} [networkInterfaces] List of network interfaces on the - * specified VM. - */ +*/ export interface SecurityGroupViewResult { + /** + * List of network interfaces on the specified VM. + */ networkInterfaces?: SecurityGroupNetworkInterface[]; } /** - * @class - * Initializes a new instance of the PacketCaptureStorageLocation class. - * @constructor * Describes the storage location for a packet capture session. - * - * @property {string} [storageId] The ID of the storage account to save the - * packet capture session. Required if no local file path is provided. - * @property {string} [storagePath] The URI of the storage path to save the - * packet capture. Must be a well-formed URI describing the location to save - * the packet capture. - * @property {string} [filePath] A valid local path on the targeting VM. Must - * include the name of the capture file (*.cap). For linux virtual machine it - * must start with /var/captures. Required if no storage ID is provided, - * otherwise optional. - */ +*/ export interface PacketCaptureStorageLocation { + /** + * The ID of the storage account to save the packet capture session. Required if no local file + * path is provided. + */ storageId?: string; + /** + * The URI of the storage path to save the packet capture. Must be a well-formed URI describing + * the location to save the packet capture. + */ storagePath?: string; + /** + * A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For + * linux virtual machine it must start with /var/captures. Required if no storage ID is provided, + * otherwise optional. + */ filePath?: string; } /** - * @class - * Initializes a new instance of the PacketCaptureFilter class. - * @constructor - * Filter that is applied to packet capture request. Multiple filters can be - * applied. - * - * @property {string} [protocol] Protocol to be filtered on. Possible values - * include: 'TCP', 'UDP', 'Any'. Default value: 'Any' . - * @property {string} [localIPAddress] Local IP Address to be filtered on. - * Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for - * range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not - * currently supported. Mixing ranges with multiple entries not currently - * supported. Default = null. - * @property {string} [remoteIPAddress] Local IP Address to be filtered on. - * Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for - * range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not - * currently supported. Mixing ranges with multiple entries not currently - * supported. Default = null. - * @property {string} [localPort] Local port to be filtered on. Notation: "80" - * for single port entry."80-85" for range. "80;443;" for multiple entries. - * Multiple ranges not currently supported. Mixing ranges with multiple entries - * not currently supported. Default = null. - * @property {string} [remotePort] Remote port to be filtered on. Notation: - * "80" for single port entry."80-85" for range. "80;443;" for multiple - * entries. Multiple ranges not currently supported. Mixing ranges with - * multiple entries not currently supported. Default = null. - */ + * Filter that is applied to packet capture request. Multiple filters can be applied. +*/ export interface PacketCaptureFilter { + /** + * Protocol to be filtered on. Possible values include: 'TCP', 'UDP', 'Any' + */ protocol?: string; + /** + * Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. + * "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple + * ranges not currently supported. Mixing ranges with multiple entries not currently supported. + * Default = null. + */ localIPAddress?: string; + /** + * Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. + * "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple + * ranges not currently supported. Mixing ranges with multiple entries not currently supported. + * Default = null. + */ remoteIPAddress?: string; + /** + * Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. + * "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with + * multiple entries not currently supported. Default = null. + */ localPort?: string; + /** + * Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. + * "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with + * multiple entries not currently supported. Default = null. + */ remotePort?: string; } /** - * @class - * Initializes a new instance of the PacketCaptureParameters class. - * @constructor * Parameters that define the create packet capture operation. - * - * @property {string} target The ID of the targeted resource, only VM is - * currently supported. - * @property {number} [bytesToCapturePerPacket] Number of bytes captured per - * packet, the remaining bytes are truncated. Default value: 0 . - * @property {number} [totalBytesPerSession] Maximum size of the capture - * output. Default value: 1073741824 . - * @property {number} [timeLimitInSeconds] Maximum duration of the capture - * session in seconds. Default value: 18000 . - * @property {object} storageLocation - * @property {string} [storageLocation.storageId] The ID of the storage account - * to save the packet capture session. Required if no local file path is - * provided. - * @property {string} [storageLocation.storagePath] The URI of the storage path - * to save the packet capture. Must be a well-formed URI describing the - * location to save the packet capture. - * @property {string} [storageLocation.filePath] A valid local path on the - * targeting VM. Must include the name of the capture file (*.cap). For linux - * virtual machine it must start with /var/captures. Required if no storage ID - * is provided, otherwise optional. - * @property {array} [filters] - */ +*/ export interface PacketCaptureParameters { + /** + * The ID of the targeted resource, only VM is currently supported. + */ target: string; + /** + * Number of bytes captured per packet, the remaining bytes are truncated. + */ bytesToCapturePerPacket?: number; + /** + * Maximum size of the capture output. + */ totalBytesPerSession?: number; + /** + * Maximum duration of the capture session in seconds. + */ timeLimitInSeconds?: number; storageLocation: PacketCaptureStorageLocation; filters?: PacketCaptureFilter[]; } /** - * @class - * Initializes a new instance of the PacketCapture class. - * @constructor * Parameters that define the create packet capture operation. - * - * @property {string} target The ID of the targeted resource, only VM is - * currently supported. - * @property {number} [bytesToCapturePerPacket] Number of bytes captured per - * packet, the remaining bytes are truncated. Default value: 0 . - * @property {number} [totalBytesPerSession] Maximum size of the capture - * output. Default value: 1073741824 . - * @property {number} [timeLimitInSeconds] Maximum duration of the capture - * session in seconds. Default value: 18000 . - * @property {object} storageLocation - * @property {string} [storageLocation.storageId] The ID of the storage account - * to save the packet capture session. Required if no local file path is - * provided. - * @property {string} [storageLocation.storagePath] The URI of the storage path - * to save the packet capture. Must be a well-formed URI describing the - * location to save the packet capture. - * @property {string} [storageLocation.filePath] A valid local path on the - * targeting VM. Must include the name of the capture file (*.cap). For linux - * virtual machine it must start with /var/captures. Required if no storage ID - * is provided, otherwise optional. - * @property {array} [filters] - */ +*/ export interface PacketCapture { + /** + * The ID of the targeted resource, only VM is currently supported. + */ target: string; + /** + * Number of bytes captured per packet, the remaining bytes are truncated. + */ bytesToCapturePerPacket?: number; + /** + * Maximum size of the capture output. + */ totalBytesPerSession?: number; + /** + * Maximum duration of the capture session in seconds. + */ timeLimitInSeconds?: number; storageLocation: PacketCaptureStorageLocation; filters?: PacketCaptureFilter[]; } /** - * @class - * Initializes a new instance of the PacketCaptureResult class. - * @constructor * Information about packet capture session. - * - * @property {string} [name] Name of the packet capture session. - * @property {string} [id] ID of the packet capture operation. - * @property {string} [etag] Default value: 'A unique read-only string that - * changes whenever the resource is updated.' . - * @property {string} target The ID of the targeted resource, only VM is - * currently supported. - * @property {number} [bytesToCapturePerPacket] Number of bytes captured per - * packet, the remaining bytes are truncated. Default value: 0 . - * @property {number} [totalBytesPerSession] Maximum size of the capture - * output. Default value: 1073741824 . - * @property {number} [timeLimitInSeconds] Maximum duration of the capture - * session in seconds. Default value: 18000 . - * @property {object} storageLocation - * @property {string} [storageLocation.storageId] The ID of the storage account - * to save the packet capture session. Required if no local file path is - * provided. - * @property {string} [storageLocation.storagePath] The URI of the storage path - * to save the packet capture. Must be a well-formed URI describing the - * location to save the packet capture. - * @property {string} [storageLocation.filePath] A valid local path on the - * targeting VM. Must include the name of the capture file (*.cap). For linux - * virtual machine it must start with /var/captures. Required if no storage ID - * is provided, otherwise optional. - * @property {array} [filters] - * @property {string} [provisioningState] The provisioning state of the packet - * capture session. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - */ +*/ export interface PacketCaptureResult { + /** + * Name of the packet capture session. + */ readonly name?: string; + /** + * ID of the packet capture operation. + */ readonly id?: string; etag?: string; + /** + * The ID of the targeted resource, only VM is currently supported. + */ target: string; + /** + * Number of bytes captured per packet, the remaining bytes are truncated. + */ bytesToCapturePerPacket?: number; + /** + * Maximum size of the capture output. + */ totalBytesPerSession?: number; + /** + * Maximum duration of the capture session in seconds. + */ timeLimitInSeconds?: number; storageLocation: PacketCaptureStorageLocation; filters?: PacketCaptureFilter[]; + /** + * The provisioning state of the packet capture session. Possible values include: 'Succeeded', + * 'Updating', 'Deleting', 'Failed' + */ provisioningState?: string; } /** - * @class - * Initializes a new instance of the PacketCaptureQueryStatusResult class. - * @constructor * Status of packet capture session. - * - * @property {string} [name] The name of the packet capture resource. - * @property {string} [id] The ID of the packet capture resource. - * @property {date} [captureStartTime] The start time of the packet capture - * session. - * @property {string} [packetCaptureStatus] The status of the packet capture - * session. Possible values include: 'NotStarted', 'Running', 'Stopped', - * 'Error', 'Unknown' - * @property {string} [stopReason] The reason the current packet capture - * session was stopped. - * @property {array} [packetCaptureError] List of errors of packet capture - * session. - */ +*/ export interface PacketCaptureQueryStatusResult { + /** + * The name of the packet capture resource. + */ name?: string; + /** + * The ID of the packet capture resource. + */ id?: string; + /** + * The start time of the packet capture session. + */ captureStartTime?: Date; + /** + * The status of the packet capture session. Possible values include: 'NotStarted', 'Running', + * 'Stopped', 'Error', 'Unknown' + */ packetCaptureStatus?: string; + /** + * The reason the current packet capture session was stopped. + */ stopReason?: string; + /** + * List of errors of packet capture session. + */ packetCaptureError?: string[]; } /** - * @class - * Initializes a new instance of the TroubleshootingParameters class. - * @constructor * Parameters that define the resource to troubleshoot. - * - * @property {string} targetResourceId The target resource to troubleshoot. - * @property {string} storageId The ID for the storage account to save the - * troubleshoot result. - * @property {string} storagePath The path to the blob to save the troubleshoot - * result in. - */ +*/ export interface TroubleshootingParameters { + /** + * The target resource to troubleshoot. + */ targetResourceId: string; + /** + * The ID for the storage account to save the troubleshoot result. + */ storageId: string; + /** + * The path to the blob to save the troubleshoot result in. + */ storagePath: string; } /** - * @class - * Initializes a new instance of the QueryTroubleshootingParameters class. - * @constructor * Parameters that define the resource to query the troubleshooting result. - * - * @property {string} targetResourceId The target resource ID to query the - * troubleshooting result. - */ +*/ export interface QueryTroubleshootingParameters { + /** + * The target resource ID to query the troubleshooting result. + */ targetResourceId: string; } /** - * @class - * Initializes a new instance of the TroubleshootingRecommendedActions class. - * @constructor * Recommended actions based on discovered issues. - * - * @property {string} [actionId] ID of the recommended action. - * @property {string} [actionText] Description of recommended actions. - * @property {string} [actionUri] The uri linking to a documentation for the - * recommended troubleshooting actions. - * @property {string} [actionUriText] The information from the URI for the - * recommended troubleshooting actions. - */ +*/ export interface TroubleshootingRecommendedActions { + /** + * ID of the recommended action. + */ actionId?: string; + /** + * Description of recommended actions. + */ actionText?: string; + /** + * The uri linking to a documentation for the recommended troubleshooting actions. + */ actionUri?: string; + /** + * The information from the URI for the recommended troubleshooting actions. + */ actionUriText?: string; } /** - * @class - * Initializes a new instance of the TroubleshootingDetails class. - * @constructor * Information gained from troubleshooting of specified resource. - * - * @property {string} [id] The id of the get troubleshoot operation. - * @property {string} [reasonType] Reason type of failure. - * @property {string} [summary] A summary of troubleshooting. - * @property {string} [detail] Details on troubleshooting results. - * @property {array} [recommendedActions] List of recommended actions. - */ +*/ export interface TroubleshootingDetails { + /** + * The id of the get troubleshoot operation. + */ id?: string; + /** + * Reason type of failure. + */ reasonType?: string; + /** + * A summary of troubleshooting. + */ summary?: string; + /** + * Details on troubleshooting results. + */ detail?: string; + /** + * List of recommended actions. + */ recommendedActions?: TroubleshootingRecommendedActions[]; } /** - * @class - * Initializes a new instance of the TroubleshootingResult class. - * @constructor * Troubleshooting information gained from specified resource. - * - * @property {date} [startTime] The start time of the troubleshooting. - * @property {date} [endTime] The end time of the troubleshooting. - * @property {string} [code] The result code of the troubleshooting. - * @property {array} [results] Information from troubleshooting. - */ +*/ export interface TroubleshootingResult { + /** + * The start time of the troubleshooting. + */ startTime?: Date; + /** + * The end time of the troubleshooting. + */ endTime?: Date; + /** + * The result code of the troubleshooting. + */ code?: string; + /** + * Information from troubleshooting. + */ results?: TroubleshootingDetails[]; } /** - * @class - * Initializes a new instance of the RetentionPolicyParameters class. - * @constructor * Parameters that define the retention policy for flow log. - * - * @property {number} [days] Number of days to retain flow log records. Default - * value: 0 . - * @property {boolean} [enabled] Flag to enable/disable retention. Default - * value: false . - */ +*/ export interface RetentionPolicyParameters { + /** + * Number of days to retain flow log records. + */ days?: number; + /** + * Flag to enable/disable retention. + */ enabled?: boolean; } /** - * @class - * Initializes a new instance of the FlowLogFormatParameters class. - * @constructor * Parameters that define the flow log format. - * - * @property {string} [type] The file type of flow log. Possible values - * include: 'JSON' - * @property {number} [version] The version (revision) of the flow log. Default - * value: 0 . - */ +*/ export interface FlowLogFormatParameters { + /** + * The file type of flow log. Possible values include: 'JSON' + */ type?: string; + /** + * The version (revision) of the flow log. + */ version?: number; } /** - * @class - * Initializes a new instance of the FlowLogStatusParameters class. - * @constructor - * Parameters that define a resource to query flow log and traffic analytics - * (optional) status. - * - * @property {string} targetResourceId The target resource where getting the - * flow log and traffic analytics (optional) status. - */ + * Parameters that define a resource to query flow log and traffic analytics (optional) status. +*/ export interface FlowLogStatusParameters { + /** + * The target resource where getting the flow log and traffic analytics (optional) status. + */ targetResourceId: string; } /** - * @class - * Initializes a new instance of the TrafficAnalyticsConfigurationProperties class. - * @constructor * Parameters that define the configuration of traffic analytics. - * - * @property {boolean} enabled Flag to enable/disable traffic analytics. - * @property {string} workspaceId The resource guid of the attached workspace - * @property {string} workspaceRegion The location of the attached workspace - * @property {string} workspaceResourceId Resource Id of the attached workspace - * @property {number} [trafficAnalyticsInterval] The interval in minutes which - * would decide how frequently TA service should do flow analytics - */ +*/ export interface TrafficAnalyticsConfigurationProperties { + /** + * Flag to enable/disable traffic analytics. + */ enabled: boolean; + /** + * The resource guid of the attached workspace + */ workspaceId: string; + /** + * The location of the attached workspace + */ workspaceRegion: string; + /** + * Resource Id of the attached workspace + */ workspaceResourceId: string; + /** + * The interval in minutes which would decide how frequently TA service should do flow analytics + */ trafficAnalyticsInterval?: number; } /** - * @class - * Initializes a new instance of the TrafficAnalyticsProperties class. - * @constructor * Parameters that define the configuration of traffic analytics. - * - * @property {object} networkWatcherFlowAnalyticsConfiguration - * @property {boolean} [networkWatcherFlowAnalyticsConfiguration.enabled] Flag - * to enable/disable traffic analytics. - * @property {string} [networkWatcherFlowAnalyticsConfiguration.workspaceId] - * The resource guid of the attached workspace - * @property {string} - * [networkWatcherFlowAnalyticsConfiguration.workspaceRegion] The location of - * the attached workspace - * @property {string} - * [networkWatcherFlowAnalyticsConfiguration.workspaceResourceId] Resource Id - * of the attached workspace - * @property {number} - * [networkWatcherFlowAnalyticsConfiguration.trafficAnalyticsInterval] The - * interval in minutes which would decide how frequently TA service should do - * flow analytics - */ +*/ export interface TrafficAnalyticsProperties { networkWatcherFlowAnalyticsConfiguration: TrafficAnalyticsConfigurationProperties; } /** - * @class - * Initializes a new instance of the FlowLogInformation class. - * @constructor - * Information on the configuration of flow log and traffic analytics - * (optional) . - * - * @property {string} targetResourceId The ID of the resource to configure for - * flow log and traffic analytics (optional) . - * @property {string} storageId ID of the storage account which is used to - * store the flow log. - * @property {boolean} enabled Flag to enable/disable flow logging. - * @property {object} [retentionPolicy] - * @property {number} [retentionPolicy.days] Number of days to retain flow log - * records. - * @property {boolean} [retentionPolicy.enabled] Flag to enable/disable - * retention. - * @property {object} [format] - * @property {string} [format.type] The file type of flow log. Possible values - * include: 'JSON' - * @property {number} [format.version] The version (revision) of the flow log. - * @property {object} [flowAnalyticsConfiguration] - * @property {object} - * [flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration] - * @property {boolean} - * [flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.enabled] - * Flag to enable/disable traffic analytics. - * @property {string} - * [flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceId] - * The resource guid of the attached workspace - * @property {string} - * [flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceRegion] - * The location of the attached workspace - * @property {string} - * [flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.workspaceResourceId] - * Resource Id of the attached workspace - * @property {number} - * [flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration.trafficAnalyticsInterval] - * The interval in minutes which would decide how frequently TA service should - * do flow analytics - */ + * Information on the configuration of flow log and traffic analytics (optional) . +*/ export interface FlowLogInformation { + /** + * The ID of the resource to configure for flow log and traffic analytics (optional) . + */ targetResourceId: string; + /** + * ID of the storage account which is used to store the flow log. + */ storageId: string; + /** + * Flag to enable/disable flow logging. + */ enabled: boolean; retentionPolicy?: RetentionPolicyParameters; format?: FlowLogFormatParameters; @@ -7669,3482 +5023,3202 @@ export interface FlowLogInformation { } /** - * @class - * Initializes a new instance of the ConnectivitySource class. - * @constructor * Parameters that define the source of the connection. - * - * @property {string} resourceId The ID of the resource from which a - * connectivity check will be initiated. - * @property {number} [port] The source port from which a connectivity check - * will be performed. - */ +*/ export interface ConnectivitySource { + /** + * The ID of the resource from which a connectivity check will be initiated. + */ resourceId: string; + /** + * The source port from which a connectivity check will be performed. + */ port?: number; } /** - * @class - * Initializes a new instance of the ConnectivityDestination class. - * @constructor * Parameters that define destination of connection. - * - * @property {string} [resourceId] The ID of the resource to which a connection - * attempt will be made. - * @property {string} [address] The IP address or URI the resource to which a - * connection attempt will be made. - * @property {number} [port] Port on which check connectivity will be - * performed. - */ +*/ export interface ConnectivityDestination { + /** + * The ID of the resource to which a connection attempt will be made. + */ resourceId?: string; + /** + * The IP address or URI the resource to which a connection attempt will be made. + */ address?: string; + /** + * Port on which check connectivity will be performed. + */ port?: number; } /** - * @class - * Initializes a new instance of the HTTPHeader class. - * @constructor * Describes the HTTP header. - * - * @property {string} [name] The name in HTTP header. - * @property {string} [value] The value in HTTP header. - */ +*/ export interface HTTPHeader { + /** + * The name in HTTP header. + */ name?: string; + /** + * The value in HTTP header. + */ value?: string; } /** - * @class - * Initializes a new instance of the HTTPConfiguration class. - * @constructor * HTTP configuration of the connectivity check. - * - * @property {string} [method] HTTP method. Possible values include: 'Get' - * @property {array} [headers] List of HTTP headers. - * @property {array} [validStatusCodes] Valid status codes. - */ +*/ export interface HTTPConfiguration { + /** + * HTTP method. Possible values include: 'Get' + */ method?: string; + /** + * List of HTTP headers. + */ headers?: HTTPHeader[]; + /** + * Valid status codes. + */ validStatusCodes?: number[]; } /** - * @class - * Initializes a new instance of the ProtocolConfiguration class. - * @constructor * Configuration of the protocol. - * - * @property {object} [hTTPConfiguration] - * @property {string} [hTTPConfiguration.method] HTTP method. Possible values - * include: 'Get' - * @property {array} [hTTPConfiguration.headers] List of HTTP headers. - * @property {array} [hTTPConfiguration.validStatusCodes] Valid status codes. - */ +*/ export interface ProtocolConfiguration { hTTPConfiguration?: HTTPConfiguration; } /** - * @class - * Initializes a new instance of the ConnectivityParameters class. - * @constructor * Parameters that determine how the connectivity check will be performed. - * - * @property {object} source - * @property {string} [source.resourceId] The ID of the resource from which a - * connectivity check will be initiated. - * @property {number} [source.port] The source port from which a connectivity - * check will be performed. - * @property {object} destination - * @property {string} [destination.resourceId] The ID of the resource to which - * a connection attempt will be made. - * @property {string} [destination.address] The IP address or URI the resource - * to which a connection attempt will be made. - * @property {number} [destination.port] Port on which check connectivity will - * be performed. - * @property {string} [protocol] Network protocol. Possible values include: - * 'Tcp', 'Http', 'Https', 'Icmp' - * @property {object} [protocolConfiguration] - * @property {object} [protocolConfiguration.hTTPConfiguration] - * @property {string} [protocolConfiguration.hTTPConfiguration.method] HTTP - * method. Possible values include: 'Get' - * @property {array} [protocolConfiguration.hTTPConfiguration.headers] List of - * HTTP headers. - * @property {array} [protocolConfiguration.hTTPConfiguration.validStatusCodes] - * Valid status codes. - */ +*/ export interface ConnectivityParameters { source: ConnectivitySource; destination: ConnectivityDestination; + /** + * Network protocol. Possible values include: 'Tcp', 'Http', 'Https', 'Icmp' + */ protocol?: string; protocolConfiguration?: ProtocolConfiguration; } /** - * @class - * Initializes a new instance of the ConnectivityIssue class. - * @constructor - * Information about an issue encountered in the process of checking for - * connectivity. - * - * @property {string} [origin] The origin of the issue. Possible values - * include: 'Local', 'Inbound', 'Outbound' - * @property {string} [severity] The severity of the issue. Possible values - * include: 'Error', 'Warning' - * @property {string} [type] The type of issue. Possible values include: - * 'Unknown', 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', - * 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' - * @property {array} [context] Provides additional context on the issue. - */ + * Information about an issue encountered in the process of checking for connectivity. +*/ export interface ConnectivityIssue { + /** + * The origin of the issue. Possible values include: 'Local', 'Inbound', 'Outbound' + */ readonly origin?: string; + /** + * The severity of the issue. Possible values include: 'Error', 'Warning' + */ readonly severity?: string; + /** + * The type of issue. Possible values include: 'Unknown', 'AgentStopped', 'GuestFirewall', + * 'DnsResolution', 'SocketBind', 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', + * 'Platform' + */ readonly type?: string; + /** + * Provides additional context on the issue. + */ readonly context?: { [propertyName: string]: string }[]; } /** - * @class - * Initializes a new instance of the ConnectivityHop class. - * @constructor * Information about a hop between the source and the destination. - * - * @property {string} [type] The type of the hop. - * @property {string} [id] The ID of the hop. - * @property {string} [address] The IP address of the hop. - * @property {string} [resourceId] The ID of the resource corresponding to this - * hop. - * @property {array} [nextHopIds] List of next hop identifiers. - * @property {array} [issues] List of issues. - */ +*/ export interface ConnectivityHop { + /** + * The type of the hop. + */ readonly type?: string; + /** + * The ID of the hop. + */ readonly id?: string; + /** + * The IP address of the hop. + */ readonly address?: string; + /** + * The ID of the resource corresponding to this hop. + */ readonly resourceId?: string; + /** + * List of next hop identifiers. + */ readonly nextHopIds?: string[]; + /** + * List of issues. + */ readonly issues?: ConnectivityIssue[]; } /** - * @class - * Initializes a new instance of the ConnectivityInformation class. - * @constructor * Information on the connectivity status. - * - * @property {array} [hops] List of hops between the source and the - * destination. - * @property {string} [connectionStatus] The connection status. Possible values - * include: 'Unknown', 'Connected', 'Disconnected', 'Degraded' - * @property {number} [avgLatencyInMs] Average latency in milliseconds. - * @property {number} [minLatencyInMs] Minimum latency in milliseconds. - * @property {number} [maxLatencyInMs] Maximum latency in milliseconds. - * @property {number} [probesSent] Total number of probes sent. - * @property {number} [probesFailed] Number of failed probes. - */ +*/ export interface ConnectivityInformation { + /** + * List of hops between the source and the destination. + */ readonly hops?: ConnectivityHop[]; + /** + * The connection status. Possible values include: 'Unknown', 'Connected', 'Disconnected', + * 'Degraded' + */ readonly connectionStatus?: string; + /** + * Average latency in milliseconds. + */ readonly avgLatencyInMs?: number; + /** + * Minimum latency in milliseconds. + */ readonly minLatencyInMs?: number; + /** + * Maximum latency in milliseconds. + */ readonly maxLatencyInMs?: number; + /** + * Total number of probes sent. + */ readonly probesSent?: number; + /** + * Number of failed probes. + */ readonly probesFailed?: number; } /** - * @class - * Initializes a new instance of the AzureReachabilityReportLocation class. - * @constructor * Parameters that define a geographic location. - * - * @property {string} country The name of the country. - * @property {string} [state] The name of the state. - * @property {string} [city] The name of the city or town. - */ +*/ export interface AzureReachabilityReportLocation { + /** + * The name of the country. + */ country: string; + /** + * The name of the state. + */ state?: string; + /** + * The name of the city or town. + */ city?: string; } /** - * @class - * Initializes a new instance of the AzureReachabilityReportParameters class. - * @constructor * Geographic and time constraints for Azure reachability report. - * - * @property {object} providerLocation - * @property {string} [providerLocation.country] The name of the country. - * @property {string} [providerLocation.state] The name of the state. - * @property {string} [providerLocation.city] The name of the city or town. - * @property {array} [providers] List of Internet service providers. - * @property {array} [azureLocations] Optional Azure regions to scope the query - * to. - * @property {date} startTime The start time for the Azure reachability report. - * @property {date} endTime The end time for the Azure reachability report. - */ +*/ export interface AzureReachabilityReportParameters { providerLocation: AzureReachabilityReportLocation; + /** + * List of Internet service providers. + */ providers?: string[]; + /** + * Optional Azure regions to scope the query to. + */ azureLocations?: string[]; + /** + * The start time for the Azure reachability report. + */ startTime: Date; + /** + * The end time for the Azure reachability report. + */ endTime: Date; } /** - * @class - * Initializes a new instance of the AzureReachabilityReportLatencyInfo class. - * @constructor * Details on latency for a time series. - * - * @property {date} [timeStamp] The time stamp. - * @property {number} [score] The relative latency score between 1 and 100, - * higher values indicating a faster connection. - */ +*/ export interface AzureReachabilityReportLatencyInfo { + /** + * The time stamp. + */ timeStamp?: Date; + /** + * The relative latency score between 1 and 100, higher values indicating a faster connection. + */ score?: number; } /** - * @class - * Initializes a new instance of the AzureReachabilityReportItem class. - * @constructor * Azure reachability report details for a given provider location. - * - * @property {string} [provider] The Internet service provider. - * @property {string} [azureLocation] The Azure region. - * @property {array} [latencies] List of latency details for each of the time - * series. - */ +*/ export interface AzureReachabilityReportItem { + /** + * The Internet service provider. + */ provider?: string; + /** + * The Azure region. + */ azureLocation?: string; + /** + * List of latency details for each of the time series. + */ latencies?: AzureReachabilityReportLatencyInfo[]; } /** - * @class - * Initializes a new instance of the AzureReachabilityReport class. - * @constructor * Azure reachability report details. - * - * @property {string} aggregationLevel The aggregation level of Azure - * reachability report. Can be Country, State or City. - * @property {object} providerLocation - * @property {string} [providerLocation.country] The name of the country. - * @property {string} [providerLocation.state] The name of the state. - * @property {string} [providerLocation.city] The name of the city or town. - * @property {array} reachabilityReport List of Azure reachability report - * items. - */ +*/ export interface AzureReachabilityReport { + /** + * The aggregation level of Azure reachability report. Can be Country, State or City. + */ aggregationLevel: string; providerLocation: AzureReachabilityReportLocation; + /** + * List of Azure reachability report items. + */ reachabilityReport: AzureReachabilityReportItem[]; } /** - * @class - * Initializes a new instance of the AvailableProvidersListParameters class. - * @constructor * Constraints that determine the list of available Internet service providers. - * - * @property {array} [azureLocations] A list of Azure regions. - * @property {string} [country] The country for available providers list. - * @property {string} [state] The state for available providers list. - * @property {string} [city] The city or town for available providers list. - */ +*/ export interface AvailableProvidersListParameters { + /** + * A list of Azure regions. + */ azureLocations?: string[]; + /** + * The country for available providers list. + */ country?: string; + /** + * The state for available providers list. + */ state?: string; + /** + * The city or town for available providers list. + */ city?: string; } /** - * @class - * Initializes a new instance of the AvailableProvidersListCity class. - * @constructor * City or town details. - * - * @property {string} [cityName] The city or town name. - * @property {array} [providers] A list of Internet service providers. - */ +*/ export interface AvailableProvidersListCity { + /** + * The city or town name. + */ cityName?: string; + /** + * A list of Internet service providers. + */ providers?: string[]; } /** - * @class - * Initializes a new instance of the AvailableProvidersListState class. - * @constructor * State details. - * - * @property {string} [stateName] The state name. - * @property {array} [providers] A list of Internet service providers. - * @property {array} [cities] List of available cities or towns in the state. - */ +*/ export interface AvailableProvidersListState { + /** + * The state name. + */ stateName?: string; + /** + * A list of Internet service providers. + */ providers?: string[]; + /** + * List of available cities or towns in the state. + */ cities?: AvailableProvidersListCity[]; } /** - * @class - * Initializes a new instance of the AvailableProvidersListCountry class. - * @constructor * Country details. - * - * @property {string} [countryName] The country name. - * @property {array} [providers] A list of Internet service providers. - * @property {array} [states] List of available states in the country. - */ +*/ export interface AvailableProvidersListCountry { + /** + * The country name. + */ countryName?: string; + /** + * A list of Internet service providers. + */ providers?: string[]; + /** + * List of available states in the country. + */ states?: AvailableProvidersListState[]; } /** - * @class - * Initializes a new instance of the AvailableProvidersList class. - * @constructor * List of available countries with details. - * - * @property {array} countries List of available countries. - */ +*/ export interface AvailableProvidersList { + /** + * List of available countries. + */ countries: AvailableProvidersListCountry[]; } /** - * @class - * Initializes a new instance of the ConnectionMonitorSource class. - * @constructor * Describes the source of connection monitor. - * - * @property {string} resourceId The ID of the resource used as the source by - * connection monitor. - * @property {number} [port] The source port used by connection monitor. - */ +*/ export interface ConnectionMonitorSource { + /** + * The ID of the resource used as the source by connection monitor. + */ resourceId: string; + /** + * The source port used by connection monitor. + */ port?: number; } /** - * @class - * Initializes a new instance of the ConnectionMonitorDestination class. - * @constructor * Describes the destination of connection monitor. - * - * @property {string} [resourceId] The ID of the resource used as the - * destination by connection monitor. - * @property {string} [address] Address of the connection monitor destination - * (IP or domain name). - * @property {number} [port] The destination port used by connection monitor. - */ +*/ export interface ConnectionMonitorDestination { + /** + * The ID of the resource used as the destination by connection monitor. + */ resourceId?: string; + /** + * Address of the connection monitor destination (IP or domain name). + */ address?: string; + /** + * The destination port used by connection monitor. + */ port?: number; } /** - * @class - * Initializes a new instance of the ConnectionMonitorParameters class. - * @constructor * Parameters that define the operation to create a connection monitor. - * - * @property {object} source - * @property {string} [source.resourceId] The ID of the resource used as the - * source by connection monitor. - * @property {number} [source.port] The source port used by connection monitor. - * @property {object} destination - * @property {string} [destination.resourceId] The ID of the resource used as - * the destination by connection monitor. - * @property {string} [destination.address] Address of the connection monitor - * destination (IP or domain name). - * @property {number} [destination.port] The destination port used by - * connection monitor. - * @property {boolean} [autoStart] Determines if the connection monitor will - * start automatically once created. Default value: true . - * @property {number} [monitoringIntervalInSeconds] Monitoring interval in - * seconds. Default value: 60 . - */ +*/ export interface ConnectionMonitorParameters { source: ConnectionMonitorSource; destination: ConnectionMonitorDestination; + /** + * Determines if the connection monitor will start automatically once created. + */ autoStart?: boolean; + /** + * Monitoring interval in seconds. + */ monitoringIntervalInSeconds?: number; } /** - * @class - * Initializes a new instance of the ConnectionMonitor class. - * @constructor * Parameters that define the operation to create a connection monitor. - * - * @property {string} [location] Connection monitor location. - * @property {object} [tags] Connection monitor tags. - * @property {object} source - * @property {string} [source.resourceId] The ID of the resource used as the - * source by connection monitor. - * @property {number} [source.port] The source port used by connection monitor. - * @property {object} destination - * @property {string} [destination.resourceId] The ID of the resource used as - * the destination by connection monitor. - * @property {string} [destination.address] Address of the connection monitor - * destination (IP or domain name). - * @property {number} [destination.port] The destination port used by - * connection monitor. - * @property {boolean} [autoStart] Determines if the connection monitor will - * start automatically once created. Default value: true . - * @property {number} [monitoringIntervalInSeconds] Monitoring interval in - * seconds. Default value: 60 . - */ +*/ export interface ConnectionMonitor { + /** + * Connection monitor location. + */ location?: string; + /** + * Connection monitor tags. + */ tags?: { [propertyName: string]: string }; source: ConnectionMonitorSource; destination: ConnectionMonitorDestination; + /** + * Determines if the connection monitor will start automatically once created. + */ autoStart?: boolean; + /** + * Monitoring interval in seconds. + */ monitoringIntervalInSeconds?: number; } /** - * @class - * Initializes a new instance of the ConnectionMonitorResult class. - * @constructor * Information about the connection monitor. - * - * @property {string} [name] Name of the connection monitor. - * @property {string} [id] ID of the connection monitor. - * @property {string} [etag] Default value: 'A unique read-only string that - * changes whenever the resource is updated.' . - * @property {string} [type] Connection monitor type. - * @property {string} [location] Connection monitor location. - * @property {object} [tags] Connection monitor tags. - * @property {object} source - * @property {string} [source.resourceId] The ID of the resource used as the - * source by connection monitor. - * @property {number} [source.port] The source port used by connection monitor. - * @property {object} destination - * @property {string} [destination.resourceId] The ID of the resource used as - * the destination by connection monitor. - * @property {string} [destination.address] Address of the connection monitor - * destination (IP or domain name). - * @property {number} [destination.port] The destination port used by - * connection monitor. - * @property {boolean} [autoStart] Determines if the connection monitor will - * start automatically once created. Default value: true . - * @property {number} [monitoringIntervalInSeconds] Monitoring interval in - * seconds. Default value: 60 . - * @property {string} [provisioningState] The provisioning state of the - * connection monitor. Possible values include: 'Succeeded', 'Updating', - * 'Deleting', 'Failed' - * @property {date} [startTime] The date and time when the connection monitor - * was started. - * @property {string} [monitoringStatus] The monitoring status of the - * connection monitor. - */ +*/ export interface ConnectionMonitorResult extends BaseResource { + /** + * Name of the connection monitor. + */ readonly name?: string; + /** + * ID of the connection monitor. + */ readonly id?: string; etag?: string; + /** + * Connection monitor type. + */ readonly type?: string; + /** + * Connection monitor location. + */ location?: string; + /** + * Connection monitor tags. + */ tags?: { [propertyName: string]: string }; source: ConnectionMonitorSource; destination: ConnectionMonitorDestination; + /** + * Determines if the connection monitor will start automatically once created. + */ autoStart?: boolean; + /** + * Monitoring interval in seconds. + */ monitoringIntervalInSeconds?: number; + /** + * The provisioning state of the connection monitor. Possible values include: 'Succeeded', + * 'Updating', 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * The date and time when the connection monitor was started. + */ startTime?: Date; + /** + * The monitoring status of the connection monitor. + */ monitoringStatus?: string; } /** - * @class - * Initializes a new instance of the ConnectionStateSnapshot class. - * @constructor * Connection state snapshot. - * - * @property {string} [connectionState] The connection state. Possible values - * include: 'Reachable', 'Unreachable', 'Unknown' - * @property {date} [startTime] The start time of the connection snapshot. - * @property {date} [endTime] The end time of the connection snapshot. - * @property {string} [evaluationState] Connectivity analysis evaluation state. - * Possible values include: 'NotStarted', 'InProgress', 'Completed' - * @property {number} [avgLatencyInMs] Average latency in ms. - * @property {number} [minLatencyInMs] Minimum latency in ms. - * @property {number} [maxLatencyInMs] Maximum latency in ms. - * @property {number} [probesSent] The number of sent probes. - * @property {number} [probesFailed] The number of failed probes. - * @property {array} [hops] List of hops between the source and the - * destination. - */ +*/ export interface ConnectionStateSnapshot { + /** + * The connection state. Possible values include: 'Reachable', 'Unreachable', 'Unknown' + */ connectionState?: string; + /** + * The start time of the connection snapshot. + */ startTime?: Date; + /** + * The end time of the connection snapshot. + */ endTime?: Date; + /** + * Connectivity analysis evaluation state. Possible values include: 'NotStarted', 'InProgress', + * 'Completed' + */ evaluationState?: string; + /** + * Average latency in ms. + */ avgLatencyInMs?: number; + /** + * Minimum latency in ms. + */ minLatencyInMs?: number; + /** + * Maximum latency in ms. + */ maxLatencyInMs?: number; + /** + * The number of sent probes. + */ probesSent?: number; + /** + * The number of failed probes. + */ probesFailed?: number; + /** + * List of hops between the source and the destination. + */ readonly hops?: ConnectivityHop[]; } /** - * @class - * Initializes a new instance of the ConnectionMonitorQueryResult class. - * @constructor * List of connection states snaphots. - * - * @property {string} [sourceStatus] Status of connection monitor source. - * Possible values include: 'Uknown', 'Active', 'Inactive' - * @property {array} [states] Information about connection states. - */ +*/ export interface ConnectionMonitorQueryResult { + /** + * Status of connection monitor source. Possible values include: 'Uknown', 'Active', 'Inactive' + */ sourceStatus?: string; + /** + * Information about connection states. + */ states?: ConnectionStateSnapshot[]; } /** - * @class - * Initializes a new instance of the NetworkConfigurationDiagnosticProfile class. - * @constructor * Parameters to compare with network configuration. - * - * @property {string} direction The direction of the traffic. Accepted values - * are 'Inbound' and 'Outbound'. Possible values include: 'Inbound', 'Outbound' - * @property {string} protocol Protocol to be verified on. Accepted values are - * '*', TCP, UDP. - * @property {string} source Traffic source. Accepted values are '*', IP - * Address/CIDR, Service Tag. - * @property {string} destination Traffic destination. Accepted values are: - * '*', IP Address/CIDR, Service Tag. - * @property {string} destinationPort Traffice destination port. Accepted - * values are '*', port (for example, 3389) and port range (for example, - * 80-100). - */ +*/ export interface NetworkConfigurationDiagnosticProfile { + /** + * The direction of the traffic. Accepted values are 'Inbound' and 'Outbound'. Possible values + * include: 'Inbound', 'Outbound' + */ direction: string; + /** + * Protocol to be verified on. Accepted values are '*', TCP, UDP. + */ protocol: string; + /** + * Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. + */ source: string; + /** + * Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag. + */ destination: string; + /** + * Traffice destination port. Accepted values are '*', port (for example, 3389) and port range + * (for example, 80-100). + */ destinationPort: string; } /** - * @class - * Initializes a new instance of the NetworkConfigurationDiagnosticParameters class. - * @constructor * Parameters to get network configuration diagnostic. - * - * @property {string} targetResourceId The ID of the target resource to perform - * network configuration diagnostic. Valid options are VM, NetworkInterface, - * VMSS/NetworkInterface and Application Gateway. - * @property {string} [verbosityLevel] Verbosity level. Accepted values are - * 'Normal', 'Minimum', 'Full'. Possible values include: 'Normal', 'Minimum', - * 'Full' - * @property {array} profiles List of network configuration diagnostic - * profiles. - */ +*/ export interface NetworkConfigurationDiagnosticParameters { + /** + * The ID of the target resource to perform network configuration diagnostic. Valid options are + * VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway. + */ targetResourceId: string; + /** + * Verbosity level. Accepted values are 'Normal', 'Minimum', 'Full'. Possible values include: + * 'Normal', 'Minimum', 'Full' + */ verbosityLevel?: string; + /** + * List of network configuration diagnostic profiles. + */ profiles: NetworkConfigurationDiagnosticProfile[]; } /** - * @class - * Initializes a new instance of the MatchedRule class. - * @constructor * Matched rule. - * - * @property {string} [ruleName] Name of the matched network security rule. - * @property {string} [action] The network traffic is allowed or denied. - * Possible values are 'Allow' and 'Deny'. - */ +*/ export interface MatchedRule { + /** + * Name of the matched network security rule. + */ ruleName?: string; + /** + * The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'. + */ action?: string; } /** - * @class - * Initializes a new instance of the NetworkSecurityRulesEvaluationResult class. - * @constructor * Network security rules evaluation result. - * - * @property {string} [name] Name of the network security rule. - * @property {boolean} [protocolMatched] Value indicating whether protocol is - * matched. - * @property {boolean} [sourceMatched] Value indicating whether source is - * matched. - * @property {boolean} [sourcePortMatched] Value indicating whether source port - * is matched. - * @property {boolean} [destinationMatched] Value indicating whether - * destination is matched. - * @property {boolean} [destinationPortMatched] Value indicating whether - * destination port is matched. - */ +*/ export interface NetworkSecurityRulesEvaluationResult { + /** + * Name of the network security rule. + */ name?: string; + /** + * Value indicating whether protocol is matched. + */ protocolMatched?: boolean; + /** + * Value indicating whether source is matched. + */ sourceMatched?: boolean; + /** + * Value indicating whether source port is matched. + */ sourcePortMatched?: boolean; + /** + * Value indicating whether destination is matched. + */ destinationMatched?: boolean; + /** + * Value indicating whether destination port is matched. + */ destinationPortMatched?: boolean; } /** - * @class - * Initializes a new instance of the EvaluatedNetworkSecurityGroup class. - * @constructor * Results of network security group evaluation. - * - * @property {string} [networkSecurityGroupId] Network security group ID. - * @property {string} [appliedTo] Resource ID of nic or subnet to which network - * security group is applied. - * @property {object} [matchedRule] - * @property {string} [matchedRule.ruleName] Name of the matched network - * security rule. - * @property {string} [matchedRule.action] The network traffic is allowed or - * denied. Possible values are 'Allow' and 'Deny'. - * @property {array} [rulesEvaluationResult] List of network security rules - * evaluation results. - */ +*/ export interface EvaluatedNetworkSecurityGroup { + /** + * Network security group ID. + */ networkSecurityGroupId?: string; + /** + * Resource ID of nic or subnet to which network security group is applied. + */ appliedTo?: string; matchedRule?: MatchedRule; + /** + * List of network security rules evaluation results. + */ readonly rulesEvaluationResult?: NetworkSecurityRulesEvaluationResult[]; } /** - * @class - * Initializes a new instance of the NetworkSecurityGroupResult class. - * @constructor * Network configuration diagnostic result corresponded provided traffic query. - * - * @property {string} [securityRuleAccessResult] The network traffic is allowed - * or denied. Possible values are 'Allow' and 'Deny'. Possible values include: - * 'Allow', 'Deny' - * @property {array} [evaluatedNetworkSecurityGroups] List of results network - * security groups diagnostic. - */ +*/ export interface NetworkSecurityGroupResult { + /** + * The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'. Possible + * values include: 'Allow', 'Deny' + */ securityRuleAccessResult?: string; + /** + * List of results network security groups diagnostic. + */ readonly evaluatedNetworkSecurityGroups?: EvaluatedNetworkSecurityGroup[]; } /** - * @class - * Initializes a new instance of the NetworkConfigurationDiagnosticResult class. - * @constructor - * Network configuration diagnostic result corresponded to provided traffic - * query. - * - * @property {object} [profile] - * @property {string} [profile.direction] The direction of the traffic. - * Accepted values are 'Inbound' and 'Outbound'. Possible values include: - * 'Inbound', 'Outbound' - * @property {string} [profile.protocol] Protocol to be verified on. Accepted - * values are '*', TCP, UDP. - * @property {string} [profile.source] Traffic source. Accepted values are '*', - * IP Address/CIDR, Service Tag. - * @property {string} [profile.destination] Traffic destination. Accepted - * values are: '*', IP Address/CIDR, Service Tag. - * @property {string} [profile.destinationPort] Traffice destination port. - * Accepted values are '*', port (for example, 3389) and port range (for - * example, 80-100). - * @property {object} [networkSecurityGroupResult] - * @property {string} [networkSecurityGroupResult.securityRuleAccessResult] The - * network traffic is allowed or denied. Possible values are 'Allow' and - * 'Deny'. Possible values include: 'Allow', 'Deny' - * @property {array} - * [networkSecurityGroupResult.evaluatedNetworkSecurityGroups] List of results - * network security groups diagnostic. - */ + * Network configuration diagnostic result corresponded to provided traffic query. +*/ export interface NetworkConfigurationDiagnosticResult { profile?: NetworkConfigurationDiagnosticProfile; networkSecurityGroupResult?: NetworkSecurityGroupResult; } /** - * @class - * Initializes a new instance of the NetworkConfigurationDiagnosticResponse class. - * @constructor * Results of network configuration diagnostic on the target resource. - * - * @property {array} [results] List of network configuration diagnostic - * results. - */ +*/ export interface NetworkConfigurationDiagnosticResponse { + /** + * List of network configuration diagnostic results. + */ readonly results?: NetworkConfigurationDiagnosticResult[]; } /** - * @class - * Initializes a new instance of the OperationDisplay class. - * @constructor * Display metadata associated with the operation. - * - * @property {string} [provider] Service provider: Microsoft Network. - * @property {string} [resource] Resource on which the operation is performed. - * @property {string} [operation] Type of the operation: get, read, delete, - * etc. - * @property {string} [description] Description of the operation. - */ +*/ export interface OperationDisplay { + /** + * Service provider: Microsoft Network. + */ provider?: string; + /** + * Resource on which the operation is performed. + */ resource?: string; + /** + * Type of the operation: get, read, delete, etc. + */ operation?: string; + /** + * Description of the operation. + */ description?: string; } /** - * @class - * Initializes a new instance of the Availability class. - * @constructor * Availability of the metric. - * - * @property {string} [timeGrain] The time grain of the availability. - * @property {string} [retention] The retention of the availability. - * @property {string} [blobDuration] Duration of the availability blob. - */ +*/ export interface Availability { + /** + * The time grain of the availability. + */ timeGrain?: string; + /** + * The retention of the availability. + */ retention?: string; + /** + * Duration of the availability blob. + */ blobDuration?: string; } /** - * @class - * Initializes a new instance of the Dimension class. - * @constructor * Dimension of the metric. - * - * @property {string} [name] The name of the dimension. - * @property {string} [displayName] The display name of the dimension. - * @property {string} [internalName] The internal name of the dimension. - */ +*/ export interface Dimension { + /** + * The name of the dimension. + */ name?: string; + /** + * The display name of the dimension. + */ displayName?: string; + /** + * The internal name of the dimension. + */ internalName?: string; } /** - * @class - * Initializes a new instance of the MetricSpecification class. - * @constructor * Description of metrics specification. - * - * @property {string} [name] The name of the metric. - * @property {string} [displayName] The display name of the metric. - * @property {string} [displayDescription] The description of the metric. - * @property {string} [unit] Units the metric to be displayed in. - * @property {string} [aggregationType] The aggregation type. - * @property {array} [availabilities] List of availability. - * @property {boolean} [enableRegionalMdmAccount] Whether regional MDM account - * enabled. - * @property {boolean} [fillGapWithZero] Whether gaps would be filled with - * zeros. - * @property {string} [metricFilterPattern] Pattern for the filter of the - * metric. - * @property {array} [dimensions] List of dimensions. - * @property {boolean} [isInternal] Whether the metric is internal. - * @property {string} [sourceMdmAccount] The source MDM account. - * @property {string} [sourceMdmNamespace] The source MDM namespace. - * @property {string} [resourceIdDimensionNameOverride] The resource Id - * dimension name override. - */ +*/ export interface MetricSpecification { + /** + * The name of the metric. + */ name?: string; + /** + * The display name of the metric. + */ displayName?: string; + /** + * The description of the metric. + */ displayDescription?: string; + /** + * Units the metric to be displayed in. + */ unit?: string; + /** + * The aggregation type. + */ aggregationType?: string; + /** + * List of availability. + */ availabilities?: Availability[]; + /** + * Whether regional MDM account enabled. + */ enableRegionalMdmAccount?: boolean; + /** + * Whether gaps would be filled with zeros. + */ fillGapWithZero?: boolean; + /** + * Pattern for the filter of the metric. + */ metricFilterPattern?: string; + /** + * List of dimensions. + */ dimensions?: Dimension[]; + /** + * Whether the metric is internal. + */ isInternal?: boolean; + /** + * The source MDM account. + */ sourceMdmAccount?: string; + /** + * The source MDM namespace. + */ sourceMdmNamespace?: string; + /** + * The resource Id dimension name override. + */ resourceIdDimensionNameOverride?: string; } /** - * @class - * Initializes a new instance of the LogSpecification class. - * @constructor * Description of logging specification. - * - * @property {string} [name] The name of the specification. - * @property {string} [displayName] The display name of the specification. - * @property {string} [blobDuration] Duration of the blob. - */ +*/ export interface LogSpecification { + /** + * The name of the specification. + */ name?: string; + /** + * The display name of the specification. + */ displayName?: string; + /** + * Duration of the blob. + */ blobDuration?: string; } /** - * @class - * Initializes a new instance of the OperationPropertiesFormatServiceSpecification class. - * @constructor * Specification of the service. - * - * @property {array} [metricSpecifications] Operation service specification. - * @property {array} [logSpecifications] Operation log specification. - */ +*/ export interface OperationPropertiesFormatServiceSpecification { + /** + * Operation service specification. + */ metricSpecifications?: MetricSpecification[]; + /** + * Operation log specification. + */ logSpecifications?: LogSpecification[]; } /** - * @class - * Initializes a new instance of the Operation class. - * @constructor * Network REST API operation definition. - * - * @property {string} [name] Operation name: {provider}/{resource}/{operation} - * @property {object} [display] Display metadata associated with the operation. - * @property {string} [display.provider] Service provider: Microsoft Network. - * @property {string} [display.resource] Resource on which the operation is - * performed. - * @property {string} [display.operation] Type of the operation: get, read, - * delete, etc. - * @property {string} [display.description] Description of the operation. - * @property {string} [origin] Origin of the operation. - * @property {object} [serviceSpecification] Specification of the service. - * @property {array} [serviceSpecification.metricSpecifications] Operation - * service specification. - * @property {array} [serviceSpecification.logSpecifications] Operation log - * specification. - */ +*/ export interface Operation { + /** + * Operation name: {provider}/{resource}/{operation} + */ name?: string; + /** + * Display metadata associated with the operation. + */ display?: OperationDisplay; + /** + * Origin of the operation. + */ origin?: string; + /** + * Specification of the service. + */ serviceSpecification?: OperationPropertiesFormatServiceSpecification; } /** - * @class - * Initializes a new instance of the PublicIPPrefixSku class. - * @constructor * SKU of a public IP prefix - * - * @property {string} [name] Name of a public IP prefix SKU. Possible values - * include: 'Standard' - */ +*/ export interface PublicIPPrefixSku { + /** + * Name of a public IP prefix SKU. Possible values include: 'Standard' + */ name?: string; } -/** - * @class - * Initializes a new instance of the ReferencedPublicIpAddress class. - * @constructor - * @property {string} [id] The PublicIPAddress Reference - */ export interface ReferencedPublicIpAddress { + /** + * The PublicIPAddress Reference + */ id?: string; } /** - * @class - * Initializes a new instance of the PublicIPPrefix class. - * @constructor * Public IP prefix resource. - * - * @property {object} [sku] The public IP prefix SKU. - * @property {string} [sku.name] Name of a public IP prefix SKU. Possible - * values include: 'Standard' - * @property {string} [publicIPAddressVersion] The public IP address version. - * Possible values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', - * 'IPv6' - * @property {array} [ipTags] The list of tags associated with the public IP - * prefix. - * @property {number} [prefixLength] The Length of the Public IP Prefix. - * @property {string} [ipPrefix] The allocated Prefix - * @property {array} [publicIPAddresses] The list of all referenced - * PublicIPAddresses - * @property {string} [resourceGuid] The resource GUID property of the public - * IP prefix resource. - * @property {string} [provisioningState] The provisioning state of the Public - * IP prefix resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {array} [zones] A list of availability zones denoting the IP - * allocated for the resource needs to come from. - */ +*/ export interface PublicIPPrefix extends Resource { + /** + * The public IP prefix SKU. + */ sku?: PublicIPPrefixSku; + /** + * The public IP address version. Possible values are: 'IPv4' and 'IPv6'. Possible values + * include: 'IPv4', 'IPv6' + */ publicIPAddressVersion?: string; + /** + * The list of tags associated with the public IP prefix. + */ ipTags?: IpTag[]; + /** + * The Length of the Public IP Prefix. + */ prefixLength?: number; + /** + * The allocated Prefix + */ ipPrefix?: string; + /** + * The list of all referenced PublicIPAddresses + */ publicIPAddresses?: ReferencedPublicIpAddress[]; + /** + * The resource GUID property of the public IP prefix resource. + */ resourceGuid?: string; + /** + * The provisioning state of the Public IP prefix resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; + /** + * A list of availability zones denoting the IP allocated for the resource needs to come from. + */ zones?: string[]; } /** - * @class - * Initializes a new instance of the PatchRouteFilterRule class. - * @constructor * Route Filter Rule Resource - * - * @property {string} access The access type of the rule. Valid values are: - * 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' - * @property {array} communities The collection for bgp community values to - * filter on. e.g. ['12076:5010','12076:5020'] - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface PatchRouteFilterRule extends SubResource { + /** + * The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values include: + * 'Allow', 'Deny' + */ access: string; + /** + * The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020'] + */ communities: string[]; + /** + * The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', + * 'Succeeded' and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ readonly name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the PatchRouteFilter class. - * @constructor * Route Filter Resource. - * - * @property {array} [rules] Collection of RouteFilterRules contained within a - * route filter. - * @property {array} [peerings] A collection of references to express route - * circuit peerings. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and - * 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - * @property {string} [type] Resource type. - * @property {object} [tags] Resource tags. - */ +*/ export interface PatchRouteFilter extends SubResource { + /** + * Collection of RouteFilterRules contained within a route filter. + */ rules?: RouteFilterRule[]; + /** + * A collection of references to express route circuit peerings. + */ peerings?: ExpressRouteCircuitPeering[]; + /** + * The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', + * 'Succeeded' and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ readonly name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; + /** + * Resource type. + */ readonly type?: string; + /** + * Resource tags. + */ tags?: { [propertyName: string]: string }; } /** - * @class - * Initializes a new instance of the BGPCommunity class. - * @constructor * Contains bgp community information offered in Service Community resources. - * - * @property {string} [serviceSupportedRegion] The region which the service - * support. e.g. For O365, region is Global. - * @property {string} [communityName] The name of the bgp community. e.g. - * Skype. - * @property {string} [communityValue] The value of the bgp community. For more - * information: - * https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. - * @property {array} [communityPrefixes] The prefixes that the bgp community - * contains. - * @property {boolean} [isAuthorizedToUse] Customer is authorized to use bgp - * community or not. - * @property {string} [serviceGroup] The service group of the bgp community - * contains. - */ +*/ export interface BGPCommunity { + /** + * The region which the service support. e.g. For O365, region is Global. + */ serviceSupportedRegion?: string; + /** + * The name of the bgp community. e.g. Skype. + */ communityName?: string; + /** + * The value of the bgp community. For more information: + * https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + */ communityValue?: string; + /** + * The prefixes that the bgp community contains. + */ communityPrefixes?: string[]; + /** + * Customer is authorized to use bgp community or not. + */ isAuthorizedToUse?: boolean; + /** + * The service group of the bgp community contains. + */ serviceGroup?: string; } /** - * @class - * Initializes a new instance of the BgpServiceCommunity class. - * @constructor * Service Community Properties. - * - * @property {string} [serviceName] The name of the bgp community. e.g. Skype. - * @property {array} [bgpCommunities] Get a list of bgp communities. - */ +*/ export interface BgpServiceCommunity extends Resource { + /** + * The name of the bgp community. e.g. Skype. + */ serviceName?: string; + /** + * Get a list of bgp communities. + */ bgpCommunities?: BGPCommunity[]; } /** - * @class - * Initializes a new instance of the UsageName class. - * @constructor * The usage names. - * - * @property {string} [value] A string describing the resource name. - * @property {string} [localizedValue] A localized string describing the - * resource name. - */ +*/ export interface UsageName { + /** + * A string describing the resource name. + */ value?: string; + /** + * A localized string describing the resource name. + */ localizedValue?: string; } /** - * @class - * Initializes a new instance of the Usage class. - * @constructor * Describes network resource usage. - * - * @property {string} [id] Resource identifier. - * @property {number} currentValue The current value of the usage. - * @property {number} limit The limit of usage. - * @property {object} name The name of the type of usage. - * @property {string} [name.value] A string describing the resource name. - * @property {string} [name.localizedValue] A localized string describing the - * resource name. - */ +*/ export interface Usage { + /** + * Resource identifier. + */ readonly id?: string; + /** + * The current value of the usage. + */ currentValue: number; + /** + * The limit of usage. + */ limit: number; + /** + * The name of the type of usage. + */ name: UsageName; } /** - * @class - * Initializes a new instance of the AddressSpace class. - * @constructor - * AddressSpace contains an array of IP address ranges that can be used by - * subnets of the virtual network. - * - * @property {array} [addressPrefixes] A list of address blocks reserved for - * this virtual network in CIDR notation. - */ + * AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual + * network. +*/ export interface AddressSpace { + /** + * A list of address blocks reserved for this virtual network in CIDR notation. + */ addressPrefixes?: string[]; } /** - * @class - * Initializes a new instance of the VirtualNetworkPeering class. - * @constructor * Peerings in a virtual network resource. - * - * @property {boolean} [allowVirtualNetworkAccess] Whether the VMs in the - * linked virtual network space would be able to access all the VMs in local - * Virtual network space. - * @property {boolean} [allowForwardedTraffic] Whether the forwarded traffic - * from the VMs in the remote virtual network will be allowed/disallowed. - * @property {boolean} [allowGatewayTransit] If gateway links can be used in - * remote virtual networking to link to this virtual network. - * @property {boolean} [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. - * @property {object} [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). - * @property {string} [remoteVirtualNetwork.id] Resource ID. - * @property {object} [remoteAddressSpace] The reference of the remote virtual - * network address space. - * @property {array} [remoteAddressSpace.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. - * @property {string} [peeringState] The status of the virtual network peering. - * Possible values are 'Initiated', 'Connected', and 'Disconnected'. Possible - * values include: 'Initiated', 'Connected', 'Disconnected' - * @property {string} [provisioningState] The provisioning state of the - * resource. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface VirtualNetworkPeering extends SubResource { + /** + * Whether the VMs in the linked virtual network space would be able to access all the VMs in + * local Virtual network space. + */ allowVirtualNetworkAccess?: boolean; + /** + * Whether the forwarded traffic from the VMs in the remote virtual network will be + * allowed/disallowed. + */ allowForwardedTraffic?: boolean; + /** + * If gateway links can be used in remote virtual networking to link to this virtual network. + */ allowGatewayTransit?: boolean; + /** + * 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. + */ useRemoteGateways?: boolean; + /** + * 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). + */ remoteVirtualNetwork?: SubResource; + /** + * The reference of the remote virtual network address space. + */ remoteAddressSpace?: AddressSpace; + /** + * The status of the virtual network peering. Possible values are 'Initiated', 'Connected', and + * 'Disconnected'. Possible values include: 'Initiated', 'Connected', 'Disconnected' + */ peeringState?: string; + /** + * The provisioning state of the resource. + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the DhcpOptions class. - * @constructor - * DhcpOptions contains an array of DNS servers available to VMs deployed in - * the virtual network. Standard DHCP option for a subnet overrides VNET DHCP - * options. - * - * @property {array} [dnsServers] The list of DNS servers IP addresses. - */ + * DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. + * Standard DHCP option for a subnet overrides VNET DHCP options. +*/ export interface DhcpOptions { + /** + * The list of DNS servers IP addresses. + */ dnsServers?: string[]; } /** - * @class - * Initializes a new instance of the VirtualNetwork class. - * @constructor * Virtual Network resource. - * - * @property {object} [addressSpace] The AddressSpace that contains an array of - * IP address ranges that can be used by subnets. - * @property {array} [addressSpace.addressPrefixes] A list of address blocks - * reserved for this virtual network in CIDR notation. - * @property {object} [dhcpOptions] The dhcpOptions that contains an array of - * DNS servers available to VMs deployed in the virtual network. - * @property {array} [dhcpOptions.dnsServers] The list of DNS servers IP - * addresses. - * @property {array} [subnets] A list of subnets in a Virtual Network. - * @property {array} [virtualNetworkPeerings] A list of peerings in a Virtual - * Network. - * @property {string} [resourceGuid] The resourceGuid property of the Virtual - * Network resource. - * @property {string} [provisioningState] The provisioning state of the - * PublicIP resource. Possible values are: 'Updating', 'Deleting', and - * 'Failed'. - * @property {boolean} [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. Default value: false . - * @property {boolean} [enableVmProtection] Indicates if VM protection is - * enabled for all the subnets in the virtual network. Default value: false . - * @property {object} [ddosProtectionPlan] The DDoS protection plan associated - * with the virtual network. - * @property {string} [ddosProtectionPlan.id] Resource ID. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VirtualNetwork extends Resource { + /** + * The AddressSpace that contains an array of IP address ranges that can be used by subnets. + */ addressSpace?: AddressSpace; + /** + * The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual + * network. + */ dhcpOptions?: DhcpOptions; + /** + * A list of subnets in a Virtual Network. + */ subnets?: Subnet[]; + /** + * A list of peerings in a Virtual Network. + */ virtualNetworkPeerings?: VirtualNetworkPeering[]; + /** + * The resourceGuid property of the Virtual Network resource. + */ resourceGuid?: string; + /** + * The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ provisioningState?: string; + /** + * 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. + */ enableDdosProtection?: boolean; + /** + * Indicates if VM protection is enabled for all the subnets in the virtual network. + */ enableVmProtection?: boolean; + /** + * The DDoS protection plan associated with the virtual network. + */ ddosProtectionPlan?: SubResource; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the IPAddressAvailabilityResult class. - * @constructor * Response for CheckIPAddressAvailability API service call - * - * @property {boolean} [available] Private IP address availability. - * @property {array} [availableIPAddresses] Contains other available private IP - * addresses if the asked for address is taken. - */ +*/ export interface IPAddressAvailabilityResult { + /** + * Private IP address availability. + */ available?: boolean; + /** + * Contains other available private IP addresses if the asked for address is taken. + */ availableIPAddresses?: string[]; } /** - * @class - * Initializes a new instance of the VirtualNetworkUsageName class. - * @constructor * Usage strings container. - * - * @property {string} [localizedValue] Localized subnet size and usage string. - * @property {string} [value] Subnet size and usage string. - */ +*/ export interface VirtualNetworkUsageName { + /** + * Localized subnet size and usage string. + */ readonly localizedValue?: string; + /** + * Subnet size and usage string. + */ readonly value?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkUsage class. - * @constructor * Usage details for subnet. - * - * @property {number} [currentValue] Indicates number of IPs used from the - * Subnet. - * @property {string} [id] Subnet identifier. - * @property {number} [limit] Indicates the size of the subnet. - * @property {object} [name] The name containing common and localized value for - * usage. - * @property {string} [name.localizedValue] Localized subnet size and usage - * string. - * @property {string} [name.value] Subnet size and usage string. - * @property {string} [unit] Usage units. Returns 'Count' - */ +*/ export interface VirtualNetworkUsage { + /** + * Indicates number of IPs used from the Subnet. + */ readonly currentValue?: number; + /** + * Subnet identifier. + */ readonly id?: string; + /** + * Indicates the size of the subnet. + */ readonly limit?: number; + /** + * The name containing common and localized value for usage. + */ readonly name?: VirtualNetworkUsageName; + /** + * Usage units. Returns 'Count' + */ readonly unit?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkGatewayIPConfiguration class. - * @constructor * IP configuration for virtual network gateway - * - * @property {string} [privateIPAllocationMethod] The private IP allocation - * method. Possible values are: 'Static' and 'Dynamic'. Possible values - * include: 'Static', 'Dynamic' - * @property {object} [subnet] The reference of the subnet resource. - * @property {string} [subnet.id] Resource ID. - * @property {object} [publicIPAddress] The reference of the public IP - * resource. - * @property {string} [publicIPAddress.id] Resource ID. - * @property {string} [provisioningState] The provisioning state of the public - * IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface VirtualNetworkGatewayIPConfiguration extends SubResource { + /** + * The private IP allocation method. Possible values are: 'Static' and 'Dynamic'. Possible values + * include: 'Static', 'Dynamic' + */ privateIPAllocationMethod?: string; + /** + * The reference of the subnet resource. + */ subnet?: SubResource; + /** + * The reference of the public IP resource. + */ publicIPAddress?: SubResource; + /** + * The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', + * and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkGatewaySku class. - * @constructor * VirtualNetworkGatewaySku details - * - * @property {string} [name] Gateway SKU name. Possible values include: - * 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', - * 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' - * @property {string} [tier] Gateway SKU tier. Possible values include: - * 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', - * 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' - * @property {number} [capacity] The capacity. - */ +*/ export interface VirtualNetworkGatewaySku { + /** + * Gateway SKU name. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + * 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + */ name?: string; + /** + * Gateway SKU tier. Possible values include: 'Basic', 'HighPerformance', 'Standard', + * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', + * 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' + */ tier?: string; + /** + * The capacity. + */ capacity?: number; } /** - * @class - * Initializes a new instance of the VpnClientRootCertificate class. - * @constructor * VPN client root certificate of virtual network gateway - * - * @property {string} publicCertData The certificate public data. - * @property {string} [provisioningState] The provisioning state of the VPN - * client root certificate resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface VpnClientRootCertificate extends SubResource { + /** + * The certificate public data. + */ publicCertData: string; + /** + * The provisioning state of the VPN client root certificate resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the VpnClientRevokedCertificate class. - * @constructor * VPN client revoked certificate of virtual network gateway. - * - * @property {string} [thumbprint] The revoked VPN client certificate - * thumbprint. - * @property {string} [provisioningState] The provisioning state of the VPN - * client revoked certificate resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface VpnClientRevokedCertificate extends SubResource { + /** + * The revoked VPN client certificate thumbprint. + */ thumbprint?: string; + /** + * The provisioning state of the VPN client revoked certificate resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the IpsecPolicy class. - * @constructor * An IPSec Policy configuration for a virtual network gateway connection - * - * @property {number} saLifeTimeSeconds The IPSec Security Association (also - * called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN - * tunnel. - * @property {number} saDataSizeKilobytes The IPSec Security Association (also - * called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN - * tunnel. - * @property {string} ipsecEncryption The IPSec encryption algorithm (IKE phase - * 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', 'AES192', - * 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * @property {string} ipsecIntegrity The IPSec integrity algorithm (IKE phase - * 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - * 'GCMAES192', 'GCMAES256' - * @property {string} ikeEncryption The IKE encryption algorithm (IKE phase 2). - * Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - * 'GCMAES256', 'GCMAES128' - * @property {string} ikeIntegrity The IKE integrity algorithm (IKE phase 2). - * Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - * 'GCMAES128' - * @property {string} dhGroup The DH Groups used in IKE Phase 1 for initial SA. - * Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - * 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - * @property {string} 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' - */ +*/ export interface IpsecPolicy { + /** + * The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * a site to site VPN tunnel. + */ saLifeTimeSeconds: number; + /** + * The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a + * site to site VPN tunnel. + */ saDataSizeKilobytes: number; + /** + * The IPSec encryption algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + */ ipsecEncryption: string; + /** + * The IPSec integrity algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + */ ipsecIntegrity: string; + /** + * The IKE encryption algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + */ ikeEncryption: string; + /** + * The IKE integrity algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + */ ikeIntegrity: string; + /** + * The DH Groups used in IKE Phase 1 for initial SA. Possible values include: 'None', 'DHGroup1', + * 'DHGroup2', 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + */ dhGroup: string; + /** + * The Pfs Groups used in IKE Phase 2 for new child SA. Possible values include: 'None', 'PFS1', + * 'PFS2', 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + */ pfsGroup: string; } /** - * @class - * Initializes a new instance of the VpnClientConfiguration class. - * @constructor * VpnClientConfiguration for P2S client. - * - * @property {object} [vpnClientAddressPool] The reference of the address space - * resource which represents Address space for P2S VpnClient. - * @property {array} [vpnClientAddressPool.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. - * @property {array} [vpnClientRootCertificates] VpnClientRootCertificate for - * virtual network gateway. - * @property {array} [vpnClientRevokedCertificates] VpnClientRevokedCertificate - * for Virtual network gateway. - * @property {array} [vpnClientProtocols] VpnClientProtocols for Virtual - * network gateway. - * @property {array} [vpnClientIpsecPolicies] VpnClientIpsecPolicies for - * virtual network gateway P2S client. - * @property {string} [radiusServerAddress] The radius server address property - * of the VirtualNetworkGateway resource for vpn client connection. - * @property {string} [radiusServerSecret] The radius secret property of the - * VirtualNetworkGateway resource for vpn client connection. - */ +*/ export interface VpnClientConfiguration { + /** + * The reference of the address space resource which represents Address space for P2S VpnClient. + */ vpnClientAddressPool?: AddressSpace; + /** + * VpnClientRootCertificate for virtual network gateway. + */ vpnClientRootCertificates?: VpnClientRootCertificate[]; + /** + * VpnClientRevokedCertificate for Virtual network gateway. + */ vpnClientRevokedCertificates?: VpnClientRevokedCertificate[]; + /** + * VpnClientProtocols for Virtual network gateway. + */ vpnClientProtocols?: string[]; + /** + * VpnClientIpsecPolicies for virtual network gateway P2S client. + */ vpnClientIpsecPolicies?: IpsecPolicy[]; + /** + * The radius server address property of the VirtualNetworkGateway resource for vpn client + * connection. + */ radiusServerAddress?: string; + /** + * The radius secret property of the VirtualNetworkGateway resource for vpn client connection. + */ radiusServerSecret?: string; } /** - * @class - * Initializes a new instance of the BgpSettings class. - * @constructor * BGP settings details - * - * @property {number} [asn] The BGP speaker's ASN. - * @property {string} [bgpPeeringAddress] The BGP peering address and BGP - * identifier of this BGP speaker. - * @property {number} [peerWeight] The weight added to routes learned from this - * BGP speaker. - */ +*/ export interface BgpSettings { + /** + * The BGP speaker's ASN. + */ asn?: number; + /** + * The BGP peering address and BGP identifier of this BGP speaker. + */ bgpPeeringAddress?: string; + /** + * The weight added to routes learned from this BGP speaker. + */ peerWeight?: number; } /** - * @class - * Initializes a new instance of the BgpPeerStatus class. - * @constructor * BGP peer status details - * - * @property {string} [localAddress] The virtual network gateway's local - * address - * @property {string} [neighbor] The remote BGP peer - * @property {number} [asn] The autonomous system number of the remote BGP peer - * @property {string} [state] The BGP peer state. Possible values include: - * 'Unknown', 'Stopped', 'Idle', 'Connecting', 'Connected' - * @property {string} [connectedDuration] For how long the peering has been up - * @property {number} [routesReceived] The number of routes learned from this - * peer - * @property {number} [messagesSent] The number of BGP messages sent - * @property {number} [messagesReceived] The number of BGP messages received - */ +*/ export interface BgpPeerStatus { + /** + * The virtual network gateway's local address + */ readonly localAddress?: string; + /** + * The remote BGP peer + */ readonly neighbor?: string; + /** + * The autonomous system number of the remote BGP peer + */ readonly asn?: number; + /** + * The BGP peer state. Possible values include: 'Unknown', 'Stopped', 'Idle', 'Connecting', + * 'Connected' + */ readonly state?: string; + /** + * For how long the peering has been up + */ readonly connectedDuration?: string; + /** + * The number of routes learned from this peer + */ readonly routesReceived?: number; + /** + * The number of BGP messages sent + */ readonly messagesSent?: number; + /** + * The number of BGP messages received + */ readonly messagesReceived?: number; } /** - * @class - * Initializes a new instance of the GatewayRoute class. - * @constructor * Gateway routing details - * - * @property {string} [localAddress] The gateway's local address - * @property {string} [network] The route's network prefix - * @property {string} [nextHop] The route's next hop - * @property {string} [sourcePeer] The peer this route was learned from - * @property {string} [origin] The source this route was learned from - * @property {string} [asPath] The route's AS path sequence - * @property {number} [weight] The route's weight - */ +*/ export interface GatewayRoute { + /** + * The gateway's local address + */ readonly localAddress?: string; + /** + * The route's network prefix + */ readonly network?: string; + /** + * The route's next hop + */ readonly nextHop?: string; + /** + * The peer this route was learned from + */ readonly sourcePeer?: string; + /** + * The source this route was learned from + */ readonly origin?: string; + /** + * The route's AS path sequence + */ readonly asPath?: string; + /** + * The route's weight + */ readonly weight?: number; } /** - * @class - * Initializes a new instance of the VirtualNetworkGateway class. - * @constructor * A common class for general resource information - * - * @property {array} [ipConfigurations] IP configurations for virtual network - * gateway. - * @property {string} [gatewayType] The type of this virtual network gateway. - * Possible values are: 'Vpn' and 'ExpressRoute'. Possible values include: - * 'Vpn', 'ExpressRoute' - * @property {string} [vpnType] The type of this virtual network gateway. - * Possible values are: 'PolicyBased' and 'RouteBased'. Possible values - * include: 'PolicyBased', 'RouteBased' - * @property {boolean} [enableBgp] Whether BGP is enabled for this virtual - * network gateway or not. - * @property {boolean} [activeActive] ActiveActive flag - * @property {object} [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. - * @property {string} [gatewayDefaultSite.id] Resource ID. - * @property {object} [sku] The reference of the VirtualNetworkGatewaySku - * resource which represents the SKU selected for Virtual network gateway. - * @property {string} [sku.name] Gateway SKU name. Possible values include: - * 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', - * 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' - * @property {string} [sku.tier] Gateway SKU tier. Possible values include: - * 'Basic', 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', - * 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', - * 'ErGw2AZ', 'ErGw3AZ' - * @property {number} [sku.capacity] The capacity. - * @property {object} [vpnClientConfiguration] The reference of the - * VpnClientConfiguration resource which represents the P2S VpnClient - * configurations. - * @property {object} [vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. - * @property {array} - * [vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. - * @property {array} [vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. - * @property {array} [vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. - * @property {array} [vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. - * @property {array} [vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. - * @property {string} [vpnClientConfiguration.radiusServerAddress] The radius - * server address property of the VirtualNetworkGateway resource for vpn client - * connection. - * @property {string} [vpnClientConfiguration.radiusServerSecret] The radius - * secret property of the VirtualNetworkGateway resource for vpn client - * connection. - * @property {object} [bgpSettings] Virtual network gateway's BGP speaker - * settings. - * @property {number} [bgpSettings.asn] The BGP speaker's ASN. - * @property {string} [bgpSettings.bgpPeeringAddress] The BGP peering address - * and BGP identifier of this BGP speaker. - * @property {number} [bgpSettings.peerWeight] The weight added to routes - * learned from this BGP speaker. - * @property {string} [resourceGuid] The resource GUID property of the - * VirtualNetworkGateway resource. - * @property {string} [provisioningState] The provisioning state of the - * VirtualNetworkGateway resource. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VirtualNetworkGateway extends Resource { + /** + * IP configurations for virtual network gateway. + */ ipConfigurations?: VirtualNetworkGatewayIPConfiguration[]; + /** + * The type of this virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. + * Possible values include: 'Vpn', 'ExpressRoute' + */ gatewayType?: string; + /** + * The type of this virtual network gateway. Possible values are: 'PolicyBased' and 'RouteBased'. + * Possible values include: 'PolicyBased', 'RouteBased' + */ vpnType?: string; + /** + * Whether BGP is enabled for this virtual network gateway or not. + */ enableBgp?: boolean; + /** + * ActiveActive flag + */ activeActive?: boolean; + /** + * 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. + */ gatewayDefaultSite?: SubResource; + /** + * The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for + * Virtual network gateway. + */ sku?: VirtualNetworkGatewaySku; + /** + * The reference of the VpnClientConfiguration resource which represents the P2S VpnClient + * configurations. + */ vpnClientConfiguration?: VpnClientConfiguration; + /** + * Virtual network gateway's BGP speaker settings. + */ bgpSettings?: BgpSettings; + /** + * The resource GUID property of the VirtualNetworkGateway resource. + */ resourceGuid?: string; + /** + * The provisioning state of the VirtualNetworkGateway resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the VpnClientParameters class. - * @constructor * Vpn Client Parameters for package generation - * - * @property {string} [processorArchitecture] VPN client Processor - * Architecture. Possible values are: 'AMD64' and 'X86'. Possible values - * include: 'Amd64', 'X86' - * @property {string} [authenticationMethod] VPN client Authentication Method. - * Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: - * 'EAPTLS', 'EAPMSCHAPv2' - * @property {string} [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. - * @property {array} [clientRootCertificates] A list of client root - * certificates public certificate data encoded as Base-64 strings. Optional - * parameter for external radius based authentication with EAPTLS. - */ +*/ export interface VpnClientParameters { + /** + * VPN client Processor Architecture. Possible values are: 'AMD64' and 'X86'. Possible values + * include: 'Amd64', 'X86' + */ processorArchitecture?: string; + /** + * VPN client Authentication Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible + * values include: 'EAPTLS', 'EAPMSCHAPv2' + */ authenticationMethod?: string; + /** + * 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. + */ radiusServerAuthCertificate?: string; + /** + * A list of client root certificates public certificate data encoded as Base-64 strings. + * Optional parameter for external radius based authentication with EAPTLS. + */ clientRootCertificates?: string[]; } /** - * @class - * Initializes a new instance of the BgpPeerStatusListResult class. - * @constructor * Response for list BGP peer status API service call - * - * @property {array} [value] List of BGP peers - */ +*/ export interface BgpPeerStatusListResult { + /** + * List of BGP peers + */ value?: BgpPeerStatus[]; } /** - * @class - * Initializes a new instance of the GatewayRouteListResult class. - * @constructor * List of virtual network gateway routes - * - * @property {array} [value] List of gateway routes - */ +*/ export interface GatewayRouteListResult { + /** + * List of gateway routes + */ value?: GatewayRoute[]; } /** - * @class - * Initializes a new instance of the TunnelConnectionHealth class. - * @constructor * VirtualNetworkGatewayConnection properties - * - * @property {string} [tunnel] Tunnel name. - * @property {string} [connectionStatus] Virtual network Gateway connection - * status. Possible values include: 'Unknown', 'Connecting', 'Connected', - * 'NotConnected' - * @property {number} [ingressBytesTransferred] The Ingress Bytes Transferred - * in this connection - * @property {number} [egressBytesTransferred] The Egress Bytes Transferred in - * this connection - * @property {string} [lastConnectionEstablishedUtcTime] The time at which - * connection was established in Utc format. - */ +*/ export interface TunnelConnectionHealth { + /** + * Tunnel name. + */ readonly tunnel?: string; + /** + * Virtual network Gateway connection status. Possible values include: 'Unknown', 'Connecting', + * 'Connected', 'NotConnected' + */ readonly connectionStatus?: string; + /** + * The Ingress Bytes Transferred in this connection + */ readonly ingressBytesTransferred?: number; + /** + * The Egress Bytes Transferred in this connection + */ readonly egressBytesTransferred?: number; + /** + * The time at which connection was established in Utc format. + */ readonly lastConnectionEstablishedUtcTime?: string; } /** - * @class - * Initializes a new instance of the LocalNetworkGateway class. - * @constructor * A common class for general resource information - * - * @property {object} [localNetworkAddressSpace] Local network site address - * space. - * @property {array} [localNetworkAddressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. - * @property {string} [gatewayIpAddress] IP address of local network gateway. - * @property {object} [bgpSettings] Local network gateway's BGP speaker - * settings. - * @property {number} [bgpSettings.asn] The BGP speaker's ASN. - * @property {string} [bgpSettings.bgpPeeringAddress] The BGP peering address - * and BGP identifier of this BGP speaker. - * @property {number} [bgpSettings.peerWeight] The weight added to routes - * learned from this BGP speaker. - * @property {string} [resourceGuid] The resource GUID property of the - * LocalNetworkGateway resource. - * @property {string} [provisioningState] The provisioning state of the - * LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', - * and 'Failed'. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface LocalNetworkGateway extends Resource { + /** + * Local network site address space. + */ localNetworkAddressSpace?: AddressSpace; + /** + * IP address of local network gateway. + */ gatewayIpAddress?: string; + /** + * Local network gateway's BGP speaker settings. + */ bgpSettings?: BgpSettings; + /** + * The resource GUID property of the LocalNetworkGateway resource. + */ resourceGuid?: string; + /** + * The provisioning state of the LocalNetworkGateway resource. Possible values are: 'Updating', + * 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkGatewayConnection class. - * @constructor * A common class for general resource information - * - * @property {string} [authorizationKey] The authorizationKey. - * @property {object} virtualNetworkGateway1 The reference to virtual network - * gateway resource. - * @property {array} [virtualNetworkGateway1.ipConfigurations] IP - * configurations for virtual network gateway. - * @property {string} [virtualNetworkGateway1.gatewayType] The type of this - * virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' - * @property {string} [virtualNetworkGateway1.vpnType] The type of this virtual - * network gateway. Possible values are: 'PolicyBased' and 'RouteBased'. - * Possible values include: 'PolicyBased', 'RouteBased' - * @property {boolean} [virtualNetworkGateway1.enableBgp] Whether BGP is - * enabled for this virtual network gateway or not. - * @property {boolean} [virtualNetworkGateway1.activeActive] ActiveActive flag - * @property {object} [virtualNetworkGateway1.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. - * @property {string} [virtualNetworkGateway1.gatewayDefaultSite.id] Resource - * ID. - * @property {object} [virtualNetworkGateway1.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. - * @property {string} [virtualNetworkGateway1.sku.name] Gateway SKU name. - * Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - * @property {string} [virtualNetworkGateway1.sku.tier] Gateway SKU tier. - * Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - * @property {number} [virtualNetworkGateway1.sku.capacity] The capacity. - * @property {object} [virtualNetworkGateway1.vpnClientConfiguration] The - * reference of the VpnClientConfiguration resource which represents the P2S - * VpnClient configurations. - * @property {object} - * [virtualNetworkGateway1.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. - * @property {array} - * [virtualNetworkGateway1.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] - * A list of address blocks reserved for this virtual network in CIDR notation. - * @property {array} - * [virtualNetworkGateway1.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. - * @property {array} - * [virtualNetworkGateway1.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. - * @property {array} - * [virtualNetworkGateway1.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. - * @property {array} - * [virtualNetworkGateway1.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. - * @property {string} - * [virtualNetworkGateway1.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. - * @property {string} - * [virtualNetworkGateway1.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. - * @property {object} [virtualNetworkGateway1.bgpSettings] Virtual network - * gateway's BGP speaker settings. - * @property {number} [virtualNetworkGateway1.bgpSettings.asn] The BGP - * speaker's ASN. - * @property {string} [virtualNetworkGateway1.bgpSettings.bgpPeeringAddress] - * The BGP peering address and BGP identifier of this BGP speaker. - * @property {number} [virtualNetworkGateway1.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. - * @property {string} [virtualNetworkGateway1.resourceGuid] The resource GUID - * property of the VirtualNetworkGateway resource. - * @property {string} [virtualNetworkGateway1.provisioningState] The - * provisioning state of the VirtualNetworkGateway resource. Possible values - * are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [virtualNetworkGateway1.etag] Gets a unique read-only - * string that changes whenever the resource is updated. - * @property {object} [virtualNetworkGateway2] The reference to virtual network - * gateway resource. - * @property {array} [virtualNetworkGateway2.ipConfigurations] IP - * configurations for virtual network gateway. - * @property {string} [virtualNetworkGateway2.gatewayType] The type of this - * virtual network gateway. Possible values are: 'Vpn' and 'ExpressRoute'. - * Possible values include: 'Vpn', 'ExpressRoute' - * @property {string} [virtualNetworkGateway2.vpnType] The type of this virtual - * network gateway. Possible values are: 'PolicyBased' and 'RouteBased'. - * Possible values include: 'PolicyBased', 'RouteBased' - * @property {boolean} [virtualNetworkGateway2.enableBgp] Whether BGP is - * enabled for this virtual network gateway or not. - * @property {boolean} [virtualNetworkGateway2.activeActive] ActiveActive flag - * @property {object} [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. - * @property {string} [virtualNetworkGateway2.gatewayDefaultSite.id] Resource - * ID. - * @property {object} [virtualNetworkGateway2.sku] The reference of the - * VirtualNetworkGatewaySku resource which represents the SKU selected for - * Virtual network gateway. - * @property {string} [virtualNetworkGateway2.sku.name] Gateway SKU name. - * Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - * @property {string} [virtualNetworkGateway2.sku.tier] Gateway SKU tier. - * Possible values include: 'Basic', 'HighPerformance', 'Standard', - * 'UltraPerformance', 'VpnGw1', 'VpnGw2', 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', - * 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', 'ErGw3AZ' - * @property {number} [virtualNetworkGateway2.sku.capacity] The capacity. - * @property {object} [virtualNetworkGateway2.vpnClientConfiguration] The - * reference of the VpnClientConfiguration resource which represents the P2S - * VpnClient configurations. - * @property {object} - * [virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool] The - * reference of the address space resource which represents Address space for - * P2S VpnClient. - * @property {array} - * [virtualNetworkGateway2.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes] - * A list of address blocks reserved for this virtual network in CIDR notation. - * @property {array} - * [virtualNetworkGateway2.vpnClientConfiguration.vpnClientRootCertificates] - * VpnClientRootCertificate for virtual network gateway. - * @property {array} - * [virtualNetworkGateway2.vpnClientConfiguration.vpnClientRevokedCertificates] - * VpnClientRevokedCertificate for Virtual network gateway. - * @property {array} - * [virtualNetworkGateway2.vpnClientConfiguration.vpnClientProtocols] - * VpnClientProtocols for Virtual network gateway. - * @property {array} - * [virtualNetworkGateway2.vpnClientConfiguration.vpnClientIpsecPolicies] - * VpnClientIpsecPolicies for virtual network gateway P2S client. - * @property {string} - * [virtualNetworkGateway2.vpnClientConfiguration.radiusServerAddress] The - * radius server address property of the VirtualNetworkGateway resource for vpn - * client connection. - * @property {string} - * [virtualNetworkGateway2.vpnClientConfiguration.radiusServerSecret] The - * radius secret property of the VirtualNetworkGateway resource for vpn client - * connection. - * @property {object} [virtualNetworkGateway2.bgpSettings] Virtual network - * gateway's BGP speaker settings. - * @property {number} [virtualNetworkGateway2.bgpSettings.asn] The BGP - * speaker's ASN. - * @property {string} [virtualNetworkGateway2.bgpSettings.bgpPeeringAddress] - * The BGP peering address and BGP identifier of this BGP speaker. - * @property {number} [virtualNetworkGateway2.bgpSettings.peerWeight] The - * weight added to routes learned from this BGP speaker. - * @property {string} [virtualNetworkGateway2.resourceGuid] The resource GUID - * property of the VirtualNetworkGateway resource. - * @property {string} [virtualNetworkGateway2.provisioningState] The - * provisioning state of the VirtualNetworkGateway resource. Possible values - * are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [virtualNetworkGateway2.etag] Gets a unique read-only - * string that changes whenever the resource is updated. - * @property {object} [localNetworkGateway2] The reference to local network - * gateway resource. - * @property {object} [localNetworkGateway2.localNetworkAddressSpace] Local - * network site address space. - * @property {array} - * [localNetworkGateway2.localNetworkAddressSpace.addressPrefixes] A list of - * address blocks reserved for this virtual network in CIDR notation. - * @property {string} [localNetworkGateway2.gatewayIpAddress] IP address of - * local network gateway. - * @property {object} [localNetworkGateway2.bgpSettings] Local network - * gateway's BGP speaker settings. - * @property {number} [localNetworkGateway2.bgpSettings.asn] The BGP speaker's - * ASN. - * @property {string} [localNetworkGateway2.bgpSettings.bgpPeeringAddress] The - * BGP peering address and BGP identifier of this BGP speaker. - * @property {number} [localNetworkGateway2.bgpSettings.peerWeight] The weight - * added to routes learned from this BGP speaker. - * @property {string} [localNetworkGateway2.resourceGuid] The resource GUID - * property of the LocalNetworkGateway resource. - * @property {string} [localNetworkGateway2.provisioningState] The provisioning - * state of the LocalNetworkGateway resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [localNetworkGateway2.etag] A unique read-only string - * that changes whenever the resource is updated. - * @property {string} connectionType Gateway connection type. Possible values - * are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values - * include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - * @property {string} [connectionProtocol] Connection protocol used for this - * connection. Possible values include: 'IKEv2', 'IKEv1' - * @property {number} [routingWeight] The routing weight. - * @property {string} [sharedKey] The IPSec shared key. - * @property {string} [connectionStatus] Virtual network Gateway connection - * status. Possible values are 'Unknown', 'Connecting', 'Connected' and - * 'NotConnected'. Possible values include: 'Unknown', 'Connecting', - * 'Connected', 'NotConnected' - * @property {array} [tunnelConnectionStatus] Collection of all tunnels' - * connection health status. - * @property {number} [egressBytesTransferred] The egress bytes transferred in - * this connection. - * @property {number} [ingressBytesTransferred] The ingress bytes transferred - * in this connection. - * @property {object} [peer] The reference to peerings resource. - * @property {string} [peer.id] Resource ID. - * @property {boolean} [enableBgp] EnableBgp flag - * @property {boolean} [usePolicyBasedTrafficSelectors] Enable policy-based - * traffic selectors. - * @property {array} [ipsecPolicies] The IPSec Policies to be considered by - * this connection. - * @property {string} [resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. - * @property {string} [provisioningState] The provisioning state of the - * VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {boolean} [expressRouteGatewayBypass] Bypass ExpressRoute Gateway - * for data forwarding - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VirtualNetworkGatewayConnection extends Resource { + /** + * The authorizationKey. + */ authorizationKey?: string; + /** + * The reference to virtual network gateway resource. + */ virtualNetworkGateway1: VirtualNetworkGateway; + /** + * The reference to virtual network gateway resource. + */ virtualNetworkGateway2?: VirtualNetworkGateway; + /** + * The reference to local network gateway resource. + */ localNetworkGateway2?: LocalNetworkGateway; + /** + * Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and + * 'VPNClient. Possible values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + */ connectionType: string; + /** + * Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + */ connectionProtocol?: string; + /** + * The routing weight. + */ routingWeight?: number; + /** + * The IPSec shared key. + */ sharedKey?: string; + /** + * Virtual network Gateway connection status. Possible values are 'Unknown', 'Connecting', + * 'Connected' and 'NotConnected'. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + */ readonly connectionStatus?: string; + /** + * Collection of all tunnels' connection health status. + */ readonly tunnelConnectionStatus?: TunnelConnectionHealth[]; + /** + * The egress bytes transferred in this connection. + */ readonly egressBytesTransferred?: number; + /** + * The ingress bytes transferred in this connection. + */ readonly ingressBytesTransferred?: number; + /** + * The reference to peerings resource. + */ peer?: SubResource; + /** + * EnableBgp flag + */ enableBgp?: boolean; + /** + * Enable policy-based traffic selectors. + */ usePolicyBasedTrafficSelectors?: boolean; + /** + * The IPSec Policies to be considered by this connection. + */ ipsecPolicies?: IpsecPolicy[]; + /** + * The resource GUID property of the VirtualNetworkGatewayConnection resource. + */ resourceGuid?: string; + /** + * The provisioning state of the VirtualNetworkGatewayConnection resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * Bypass ExpressRoute Gateway for data forwarding + */ expressRouteGatewayBypass?: boolean; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the ConnectionResetSharedKey class. - * @constructor * The virtual network connection reset shared key - * - * @property {number} keyLength The virtual network connection reset shared key - * length, should between 1 and 128. - */ +*/ export interface ConnectionResetSharedKey { + /** + * The virtual network connection reset shared key length, should between 1 and 128. + */ keyLength: number; } /** - * @class - * Initializes a new instance of the ConnectionSharedKey class. - * @constructor * Response for GetConnectionSharedKey API service call - * - * @property {string} value The virtual network connection shared key value. - */ +*/ export interface ConnectionSharedKey extends SubResource { + /** + * The virtual network connection shared key value. + */ value: string; } /** - * @class - * Initializes a new instance of the VpnClientIPsecParameters class. - * @constructor * An IPSec parameters for a virtual network gateway P2S connection. - * - * @property {number} saLifeTimeSeconds The IPSec Security Association (also - * called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. - * @property {number} saDataSizeKilobytes The IPSec Security Association (also - * called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. - * @property {string} ipsecEncryption The IPSec encryption algorithm (IKE phase - * 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', 'AES192', - * 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' - * @property {string} ipsecIntegrity The IPSec integrity algorithm (IKE phase - * 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', - * 'GCMAES192', 'GCMAES256' - * @property {string} ikeEncryption The IKE encryption algorithm (IKE phase 2). - * Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', - * 'GCMAES256', 'GCMAES128' - * @property {string} ikeIntegrity The IKE integrity algorithm (IKE phase 2). - * Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', - * 'GCMAES128' - * @property {string} dhGroup The DH Groups used in IKE Phase 1 for initial SA. - * Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', - * 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' - * @property {string} 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' - */ +*/ export interface VpnClientIPsecParameters { + /** + * The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for + * P2S client. + */ saLifeTimeSeconds: number; + /** + * The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for + * P2S client.. + */ saDataSizeKilobytes: number; + /** + * The IPSec encryption algorithm (IKE phase 1). Possible values include: 'None', 'DES', 'DES3', + * 'AES128', 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + */ ipsecEncryption: string; + /** + * The IPSec integrity algorithm (IKE phase 1). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'GCMAES128', 'GCMAES192', 'GCMAES256' + */ ipsecIntegrity: string; + /** + * The IKE encryption algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', + * 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + */ ikeEncryption: string; + /** + * The IKE integrity algorithm (IKE phase 2). Possible values include: 'MD5', 'SHA1', 'SHA256', + * 'SHA384', 'GCMAES256', 'GCMAES128' + */ ikeIntegrity: string; + /** + * The DH Groups used in IKE Phase 1 for initial SA. Possible values include: 'None', 'DHGroup1', + * 'DHGroup2', 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + */ dhGroup: string; + /** + * The Pfs Groups used in IKE Phase 2 for new child SA. Possible values include: 'None', 'PFS1', + * 'PFS2', 'PFS2048', 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + */ pfsGroup: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkConnectionGatewayReference class. - * @constructor * A reference to VirtualNetworkGateway or LocalNetworkGateway resource. - * - * @property {string} id The ID of VirtualNetworkGateway or LocalNetworkGateway - * resource. - */ +*/ export interface VirtualNetworkConnectionGatewayReference { + /** + * The ID of VirtualNetworkGateway or LocalNetworkGateway resource. + */ id: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkGatewayConnectionListEntity class. - * @constructor * A common class for general resource information - * - * @property {string} [authorizationKey] The authorizationKey. - * @property {object} virtualNetworkGateway1 The reference to virtual network - * gateway resource. - * @property {string} [virtualNetworkGateway1.id] The ID of - * VirtualNetworkGateway or LocalNetworkGateway resource. - * @property {object} [virtualNetworkGateway2] The reference to virtual network - * gateway resource. - * @property {string} [virtualNetworkGateway2.id] The ID of - * VirtualNetworkGateway or LocalNetworkGateway resource. - * @property {object} [localNetworkGateway2] The reference to local network - * gateway resource. - * @property {string} [localNetworkGateway2.id] The ID of VirtualNetworkGateway - * or LocalNetworkGateway resource. - * @property {string} connectionType Gateway connection type. Possible values - * are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values - * include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' - * @property {string} [connectionProtocol] Connection protocol used for this - * connection. Possible values include: 'IKEv2', 'IKEv1' - * @property {number} [routingWeight] The routing weight. - * @property {string} [sharedKey] The IPSec shared key. - * @property {string} [connectionStatus] Virtual network Gateway connection - * status. Possible values are 'Unknown', 'Connecting', 'Connected' and - * 'NotConnected'. Possible values include: 'Unknown', 'Connecting', - * 'Connected', 'NotConnected' - * @property {array} [tunnelConnectionStatus] Collection of all tunnels' - * connection health status. - * @property {number} [egressBytesTransferred] The egress bytes transferred in - * this connection. - * @property {number} [ingressBytesTransferred] The ingress bytes transferred - * in this connection. - * @property {object} [peer] The reference to peerings resource. - * @property {string} [peer.id] Resource ID. - * @property {boolean} [enableBgp] EnableBgp flag - * @property {boolean} [usePolicyBasedTrafficSelectors] Enable policy-based - * traffic selectors. - * @property {array} [ipsecPolicies] The IPSec Policies to be considered by - * this connection. - * @property {string} [resourceGuid] The resource GUID property of the - * VirtualNetworkGatewayConnection resource. - * @property {string} [provisioningState] The provisioning state of the - * VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {boolean} [expressRouteGatewayBypass] Bypass ExpressRoute Gateway - * for data forwarding - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VirtualNetworkGatewayConnectionListEntity extends Resource { + /** + * The authorizationKey. + */ authorizationKey?: string; + /** + * The reference to virtual network gateway resource. + */ virtualNetworkGateway1: VirtualNetworkConnectionGatewayReference; + /** + * The reference to virtual network gateway resource. + */ virtualNetworkGateway2?: VirtualNetworkConnectionGatewayReference; + /** + * The reference to local network gateway resource. + */ localNetworkGateway2?: VirtualNetworkConnectionGatewayReference; + /** + * Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and + * 'VPNClient. Possible values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + */ connectionType: string; + /** + * Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + */ connectionProtocol?: string; + /** + * The routing weight. + */ routingWeight?: number; + /** + * The IPSec shared key. + */ sharedKey?: string; + /** + * Virtual network Gateway connection status. Possible values are 'Unknown', 'Connecting', + * 'Connected' and 'NotConnected'. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + */ readonly connectionStatus?: string; + /** + * Collection of all tunnels' connection health status. + */ readonly tunnelConnectionStatus?: TunnelConnectionHealth[]; + /** + * The egress bytes transferred in this connection. + */ readonly egressBytesTransferred?: number; + /** + * The ingress bytes transferred in this connection. + */ readonly ingressBytesTransferred?: number; + /** + * The reference to peerings resource. + */ peer?: SubResource; + /** + * EnableBgp flag + */ enableBgp?: boolean; + /** + * Enable policy-based traffic selectors. + */ usePolicyBasedTrafficSelectors?: boolean; + /** + * The IPSec Policies to be considered by this connection. + */ ipsecPolicies?: IpsecPolicy[]; + /** + * The resource GUID property of the VirtualNetworkGatewayConnection resource. + */ resourceGuid?: string; + /** + * The provisioning state of the VirtualNetworkGatewayConnection resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * Bypass ExpressRoute Gateway for data forwarding + */ expressRouteGatewayBypass?: boolean; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the VpnDeviceScriptParameters class. - * @constructor * Vpn device configuration script generation parameters - * - * @property {string} [vendor] The vendor for the vpn device. - * @property {string} [deviceFamily] The device family for the vpn device. - * @property {string} [firmwareVersion] The firmware version for the vpn - * device. - */ +*/ export interface VpnDeviceScriptParameters { + /** + * The vendor for the vpn device. + */ vendor?: string; + /** + * The device family for the vpn device. + */ deviceFamily?: string; + /** + * The firmware version for the vpn device. + */ firmwareVersion?: string; } /** - * @class - * Initializes a new instance of the P2SVpnServerConfigVpnClientRootCertificate class. - * @constructor * VPN client root certificate of P2SVpnServerConfiguration. - * - * @property {string} publicCertData The certificate public data. - * @property {string} [provisioningState] The provisioning state of the - * P2SVpnServerConfiguration VPN client root certificate resource. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface P2SVpnServerConfigVpnClientRootCertificate extends SubResource { + /** + * The certificate public data. + */ publicCertData: string; + /** + * The provisioning state of the P2SVpnServerConfiguration VPN client root certificate resource. + * Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the P2SVpnServerConfigVpnClientRevokedCertificate class. - * @constructor * VPN client revoked certificate of P2SVpnServerConfiguration. - * - * @property {string} [thumbprint] The revoked VPN client certificate - * thumbprint. - * @property {string} [provisioningState] The provisioning state of the VPN - * client revoked certificate resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface P2SVpnServerConfigVpnClientRevokedCertificate extends SubResource { + /** + * The revoked VPN client certificate thumbprint. + */ thumbprint?: string; + /** + * The provisioning state of the VPN client revoked certificate resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the P2SVpnServerConfigRadiusServerRootCertificate class. - * @constructor * Radius Server root certificate of P2SVpnServerConfiguration. - * - * @property {string} publicCertData The certificate public data. - * @property {string} [provisioningState] The provisioning state of the - * P2SVpnServerConfiguration Radius Server root certificate resource. Possible - * values are: 'Updating', 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface P2SVpnServerConfigRadiusServerRootCertificate extends SubResource { + /** + * The certificate public data. + */ publicCertData: string; + /** + * The provisioning state of the P2SVpnServerConfiguration Radius Server root certificate + * resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the P2SVpnServerConfigRadiusClientRootCertificate class. - * @constructor * Radius client root certificate of P2SVpnServerConfiguration. - * - * @property {string} [thumbprint] The Radius client root certificate - * thumbprint. - * @property {string} [provisioningState] The provisioning state of the Radius - * client root certificate resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] A unique read-only string that changes whenever - * the resource is updated. - */ +*/ export interface P2SVpnServerConfigRadiusClientRootCertificate extends SubResource { + /** + * The Radius client root certificate thumbprint. + */ thumbprint?: string; + /** + * The provisioning state of the Radius client root certificate resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + */ etag?: string; } /** - * @class - * Initializes a new instance of the P2SVpnServerConfiguration class. - * @constructor * P2SVpnServerConfiguration Resource. - * - * @property {string} [p2SVpnServerConfigurationPropertiesName] The name of the - * P2SVpnServerConfiguration that is unique within a VirtualWan in a resource - * group. This name can be used to access the resource along with Paren - * VirtualWan resource name. - * @property {array} [vpnProtocols] vpnProtocols for the - * P2SVpnServerConfiguration. - * @property {array} [p2SVpnServerConfigVpnClientRootCertificates] VPN client - * root certificate of P2SVpnServerConfiguration. - * @property {array} [p2SVpnServerConfigVpnClientRevokedCertificates] VPN - * client revoked certificate of P2SVpnServerConfiguration. - * @property {array} [p2SVpnServerConfigRadiusServerRootCertificates] Radius - * Server root certificate of P2SVpnServerConfiguration. - * @property {array} [p2SVpnServerConfigRadiusClientRootCertificates] Radius - * client root certificate of P2SVpnServerConfiguration. - * @property {array} [vpnClientIpsecPolicies] VpnClientIpsecPolicies for - * P2SVpnServerConfiguration. - * @property {string} [radiusServerAddress] The radius server address property - * of the P2SVpnServerConfiguration resource for point to site client - * connection. - * @property {string} [radiusServerSecret] The radius secret property of the - * P2SVpnServerConfiguration resource for for point to site client connection. - * @property {string} [provisioningState] The provisioning state of the - * P2SVpnServerConfiguration resource. Possible values are: 'Updating', - * 'Deleting', and 'Failed'. - * @property {array} [p2SVpnGateways] - * @property {string} [p2SVpnServerConfigurationPropertiesEtag] A unique - * read-only string that changes whenever the resource is updated. - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface P2SVpnServerConfiguration extends SubResource { + /** + * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource + * group. This name can be used to access the resource along with Paren VirtualWan resource name. + */ p2SVpnServerConfigurationPropertiesName?: string; + /** + * vpnProtocols for the P2SVpnServerConfiguration. + */ vpnProtocols?: string[]; + /** + * VPN client root certificate of P2SVpnServerConfiguration. + */ p2SVpnServerConfigVpnClientRootCertificates?: P2SVpnServerConfigVpnClientRootCertificate[]; + /** + * VPN client revoked certificate of P2SVpnServerConfiguration. + */ p2SVpnServerConfigVpnClientRevokedCertificates?: P2SVpnServerConfigVpnClientRevokedCertificate[]; + /** + * Radius Server root certificate of P2SVpnServerConfiguration. + */ p2SVpnServerConfigRadiusServerRootCertificates?: P2SVpnServerConfigRadiusServerRootCertificate[]; + /** + * Radius client root certificate of P2SVpnServerConfiguration. + */ p2SVpnServerConfigRadiusClientRootCertificates?: P2SVpnServerConfigRadiusClientRootCertificate[]; + /** + * VpnClientIpsecPolicies for P2SVpnServerConfiguration. + */ vpnClientIpsecPolicies?: IpsecPolicy[]; + /** + * The radius server address property of the P2SVpnServerConfiguration resource for point to site + * client connection. + */ radiusServerAddress?: string; + /** + * The radius secret property of the P2SVpnServerConfiguration resource for for point to site + * client connection. + */ radiusServerSecret?: string; + /** + * The provisioning state of the P2SVpnServerConfiguration resource. Possible values are: + * 'Updating', 'Deleting', and 'Failed'. + */ readonly provisioningState?: string; readonly p2SVpnGateways?: SubResource[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ p2SVpnServerConfigurationPropertiesEtag?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the VirtualWAN class. - * @constructor * VirtualWAN Resource. - * - * @property {boolean} [disableVpnEncryption] Vpn encryption to be disabled or - * not. - * @property {array} [virtualHubs] List of VirtualHubs in the VirtualWAN. - * @property {array} [vpnSites] - * @property {string} [securityProviderName] The Security Provider name. - * @property {boolean} [allowBranchToBranchTraffic] True if branch to branch - * traffic is allowed. - * @property {boolean} [allowVnetToVnetTraffic] True if Vnet to Vnet traffic is - * allowed. - * @property {string} [office365LocalBreakoutCategory] The office local - * breakout category. Possible values include: 'Optimize', 'OptimizeAndAllow', - * 'All', 'None' - * @property {array} [p2SVpnServerConfigurations] list of all - * P2SVpnServerConfigurations associated with the virtual wan. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VirtualWAN extends Resource { + /** + * Vpn encryption to be disabled or not. + */ disableVpnEncryption?: boolean; + /** + * List of VirtualHubs in the VirtualWAN. + */ readonly virtualHubs?: SubResource[]; readonly vpnSites?: SubResource[]; + /** + * The Security Provider name. + */ securityProviderName?: string; + /** + * True if branch to branch traffic is allowed. + */ allowBranchToBranchTraffic?: boolean; + /** + * True if Vnet to Vnet traffic is allowed. + */ allowVnetToVnetTraffic?: boolean; + /** + * The office local breakout category. Possible values include: 'Optimize', 'OptimizeAndAllow', + * 'All', 'None' + */ office365LocalBreakoutCategory?: string; + /** + * list of all P2SVpnServerConfigurations associated with the virtual wan. + */ p2SVpnServerConfigurations?: P2SVpnServerConfiguration[]; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the DeviceProperties class. - * @constructor * List of properties of the device. - * - * @property {string} [deviceVendor] Name of the device Vendor. - * @property {string} [deviceModel] Model of the device. - * @property {number} [linkSpeedInMbps] Link speed. - */ +*/ export interface DeviceProperties { + /** + * Name of the device Vendor. + */ deviceVendor?: string; + /** + * Model of the device. + */ deviceModel?: string; + /** + * Link speed. + */ linkSpeedInMbps?: number; } /** - * @class - * Initializes a new instance of the VpnSite class. - * @constructor * VpnSite Resource. - * - * @property {object} [virtualWan] The VirtualWAN to which the vpnSite belongs - * @property {string} [virtualWan.id] Resource ID. - * @property {object} [deviceProperties] The device properties - * @property {string} [deviceProperties.deviceVendor] Name of the device - * Vendor. - * @property {string} [deviceProperties.deviceModel] Model of the device. - * @property {number} [deviceProperties.linkSpeedInMbps] Link speed. - * @property {string} [ipAddress] The ip-address for the vpn-site. - * @property {string} [siteKey] The key for vpn-site that can be used for - * connections. - * @property {object} [addressSpace] The AddressSpace that contains an array of - * IP address ranges. - * @property {array} [addressSpace.addressPrefixes] A list of address blocks - * reserved for this virtual network in CIDR notation. - * @property {object} [bgpProperties] The set of bgp properties. - * @property {number} [bgpProperties.asn] The BGP speaker's ASN. - * @property {string} [bgpProperties.bgpPeeringAddress] The BGP peering address - * and BGP identifier of this BGP speaker. - * @property {number} [bgpProperties.peerWeight] The weight added to routes - * learned from this BGP speaker. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {boolean} [isSecuritySite] IsSecuritySite flag - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VpnSite extends Resource { + /** + * The VirtualWAN to which the vpnSite belongs + */ virtualWan?: SubResource; + /** + * The device properties + */ deviceProperties?: DeviceProperties; + /** + * The ip-address for the vpn-site. + */ ipAddress?: string; + /** + * The key for vpn-site that can be used for connections. + */ siteKey?: string; + /** + * The AddressSpace that contains an array of IP address ranges. + */ addressSpace?: AddressSpace; + /** + * The set of bgp properties. + */ bgpProperties?: BgpSettings; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * IsSecuritySite flag + */ isSecuritySite?: boolean; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the GetVpnSitesConfigurationRequest class. - * @constructor * List of Vpn-Sites - * - * @property {array} [vpnSites] List of resource-ids of the vpn-sites for which - * config is to be downloaded. - * @property {string} [outputBlobSasUrl] The sas-url to download the - * configurations for vpn-sites - */ +*/ export interface GetVpnSitesConfigurationRequest { + /** + * List of resource-ids of the vpn-sites for which config is to be downloaded. + */ vpnSites?: string[]; + /** + * The sas-url to download the configurations for vpn-sites + */ outputBlobSasUrl?: string; } /** - * @class - * Initializes a new instance of the HubVirtualNetworkConnection class. - * @constructor * HubVirtualNetworkConnection Resource. - * - * @property {object} [remoteVirtualNetwork] Reference to the remote virtual - * network. - * @property {string} [remoteVirtualNetwork.id] Resource ID. - * @property {boolean} [allowHubToRemoteVnetTransit] VirtualHub to RemoteVnet - * transit to enabled or not. - * @property {boolean} [allowRemoteVnetToUseHubVnetGateways] Allow RemoteVnet - * to use Virtual Hub's gateways. - * @property {boolean} [enableInternetSecurity] Enable internet security - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface HubVirtualNetworkConnection extends SubResource { + /** + * Reference to the remote virtual network. + */ remoteVirtualNetwork?: SubResource; + /** + * VirtualHub to RemoteVnet transit to enabled or not. + */ allowHubToRemoteVnetTransit?: boolean; + /** + * Allow RemoteVnet to use Virtual Hub's gateways. + */ allowRemoteVnetToUseHubVnetGateways?: boolean; + /** + * Enable internet security + */ enableInternetSecurity?: boolean; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the VirtualHubRoute class. - * @constructor * VirtualHub route - * - * @property {array} [addressPrefixes] list of all addressPrefixes. - * @property {string} [nextHopIpAddress] NextHop ip address. - */ +*/ export interface VirtualHubRoute { + /** + * list of all addressPrefixes. + */ addressPrefixes?: string[]; + /** + * NextHop ip address. + */ nextHopIpAddress?: string; } /** - * @class - * Initializes a new instance of the VirtualHubRouteTable class. - * @constructor * VirtualHub route table - * - * @property {array} [routes] list of all routes. - */ +*/ export interface VirtualHubRouteTable { + /** + * list of all routes. + */ routes?: VirtualHubRoute[]; } /** - * @class - * Initializes a new instance of the VirtualHub class. - * @constructor * VirtualHub Resource. - * - * @property {object} [virtualWan] The VirtualWAN to which the VirtualHub - * belongs - * @property {string} [virtualWan.id] Resource ID. - * @property {object} [vpnGateway] The VpnGateway associated with this - * VirtualHub - * @property {string} [vpnGateway.id] Resource ID. - * @property {object} [p2SVpnGateway] The P2SVpnGateway associated with this - * VirtualHub - * @property {string} [p2SVpnGateway.id] Resource ID. - * @property {object} [expressRouteGateway] The expressRouteGateway associated - * with this VirtualHub - * @property {string} [expressRouteGateway.id] Resource ID. - * @property {array} [virtualNetworkConnections] list of all vnet connections - * with this VirtualHub. - * @property {string} [addressPrefix] Address-prefix for this VirtualHub. - * @property {object} [routeTable] The routeTable associated with this virtual - * hub. - * @property {array} [routeTable.routes] list of all routes. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VirtualHub extends Resource { + /** + * The VirtualWAN to which the VirtualHub belongs + */ virtualWan?: SubResource; + /** + * The VpnGateway associated with this VirtualHub + */ vpnGateway?: SubResource; + /** + * The P2SVpnGateway associated with this VirtualHub + */ p2SVpnGateway?: SubResource; + /** + * The expressRouteGateway associated with this VirtualHub + */ expressRouteGateway?: SubResource; + /** + * list of all vnet connections with this VirtualHub. + */ virtualNetworkConnections?: HubVirtualNetworkConnection[]; + /** + * Address-prefix for this VirtualHub. + */ addressPrefix?: string; + /** + * The routeTable associated with this virtual hub. + */ routeTable?: VirtualHubRouteTable; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the VpnConnection class. - * @constructor * VpnConnection Resource. - * - * @property {object} [remoteVpnSite] Id of the connected vpn site. - * @property {string} [remoteVpnSite.id] Resource ID. - * @property {number} [routingWeight] routing weight for vpn connection. - * @property {string} [connectionStatus] The connection status. Possible values - * include: 'Unknown', 'Connecting', 'Connected', 'NotConnected' - * @property {string} [vpnConnectionProtocolType] Connection protocol used for - * this connection. Possible values include: 'IKEv2', 'IKEv1' - * @property {number} [ingressBytesTransferred] Ingress bytes transferred. - * @property {number} [egressBytesTransferred] Egress bytes transferred. - * @property {number} [connectionBandwidth] Expected bandwidth in MBPS. - * @property {string} [sharedKey] SharedKey for the vpn connection. - * @property {boolean} [enableBgp] EnableBgp flag - * @property {array} [ipsecPolicies] The IPSec Policies to be considered by - * this connection. - * @property {boolean} [enableRateLimiting] EnableBgp flag - * @property {boolean} [enableInternetSecurity] Enable internet security - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {string} [name] The name of the resource that is unique within a - * resource group. This name can be used to access the resource. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VpnConnection extends SubResource { + /** + * Id of the connected vpn site. + */ remoteVpnSite?: SubResource; + /** + * routing weight for vpn connection. + */ routingWeight?: number; + /** + * The connection status. Possible values include: 'Unknown', 'Connecting', 'Connected', + * 'NotConnected' + */ connectionStatus?: string; + /** + * Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + */ vpnConnectionProtocolType?: string; + /** + * Ingress bytes transferred. + */ readonly ingressBytesTransferred?: number; + /** + * Egress bytes transferred. + */ readonly egressBytesTransferred?: number; + /** + * Expected bandwidth in MBPS. + */ connectionBandwidth?: number; + /** + * SharedKey for the vpn connection. + */ sharedKey?: string; + /** + * EnableBgp flag + */ enableBgp?: boolean; + /** + * The IPSec Policies to be considered by this connection. + */ ipsecPolicies?: IpsecPolicy[]; + /** + * EnableBgp flag + */ enableRateLimiting?: boolean; + /** + * Enable internet security + */ enableInternetSecurity?: boolean; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to + * access the resource. + */ name?: string; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the VpnGateway class. - * @constructor * VpnGateway Resource. - * - * @property {object} [virtualHub] The VirtualHub to which the gateway belongs - * @property {string} [virtualHub.id] Resource ID. - * @property {array} [connections] list of all vpn connections to the gateway. - * @property {object} [bgpSettings] Local network gateway's BGP speaker - * settings. - * @property {number} [bgpSettings.asn] The BGP speaker's ASN. - * @property {string} [bgpSettings.bgpPeeringAddress] The BGP peering address - * and BGP identifier of this BGP speaker. - * @property {number} [bgpSettings.peerWeight] The weight added to routes - * learned from this BGP speaker. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {number} [vpnGatewayScaleUnit] The scale unit for this vpn - * gateway. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface VpnGateway extends Resource { + /** + * The VirtualHub to which the gateway belongs + */ virtualHub?: SubResource; + /** + * list of all vpn connections to the gateway. + */ connections?: VpnConnection[]; + /** + * Local network gateway's BGP speaker settings. + */ bgpSettings?: BgpSettings; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * The scale unit for this vpn gateway. + */ vpnGatewayScaleUnit?: number; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the VpnSiteId class. - * @constructor * VpnSite Resource. - * - * @property {string} [vpnSite] The resource-uri of the vpn-site for which - * config is to be fetched. - */ +*/ export interface VpnSiteId { + /** + * The resource-uri of the vpn-site for which config is to be fetched. + */ readonly vpnSite?: string; } /** - * @class - * Initializes a new instance of the VirtualWanSecurityProvider class. - * @constructor * Collection of SecurityProviders. - * - * @property {string} [name] Name of the security provider. - * @property {string} [url] Url of the security provider. - * @property {string} [type] Name of the security provider. Possible values - * include: 'External', 'Native' - */ +*/ export interface VirtualWanSecurityProvider { + /** + * Name of the security provider. + */ name?: string; + /** + * Url of the security provider. + */ url?: string; + /** + * Name of the security provider. Possible values include: 'External', 'Native' + */ type?: string; } /** - * @class - * Initializes a new instance of the VirtualWanSecurityProviders class. - * @constructor * Collection of SecurityProviders. - * - * @property {array} [supportedProviders] - */ +*/ export interface VirtualWanSecurityProviders { supportedProviders?: VirtualWanSecurityProvider[]; } /** - * @class - * Initializes a new instance of the VpnClientConnectionHealth class. - * @constructor * VpnClientConnectionHealth properties - * - * @property {number} [totalIngressBytesTransferred] Total of the Ingress Bytes - * Transferred in this P2S Vpn connection - * @property {number} [totalEgressBytesTransferred] Total of the Egress Bytes - * Transferred in this connection - * @property {number} [vpnClientConnectionsCount] The total of p2s vpn clients - * connected at this time to this P2SVpnGateway. - * @property {array} [allocatedIpAddresses] List of allocated ip addresses to - * the connected p2s vpn clients. - */ +*/ export interface VpnClientConnectionHealth { + /** + * Total of the Ingress Bytes Transferred in this P2S Vpn connection + */ readonly totalIngressBytesTransferred?: number; + /** + * Total of the Egress Bytes Transferred in this connection + */ readonly totalEgressBytesTransferred?: number; + /** + * The total of p2s vpn clients connected at this time to this P2SVpnGateway. + */ vpnClientConnectionsCount?: number; + /** + * List of allocated ip addresses to the connected p2s vpn clients. + */ allocatedIpAddresses?: string[]; } /** - * @class - * Initializes a new instance of the P2SVpnGateway class. - * @constructor * P2SVpnGateway Resource. - * - * @property {object} [virtualHub] The VirtualHub to which the gateway belongs - * @property {string} [virtualHub.id] Resource ID. - * @property {string} [provisioningState] The provisioning state of the - * resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', - * 'Failed' - * @property {number} [vpnGatewayScaleUnit] The scale unit for this p2s vpn - * gateway. - * @property {object} [p2SVpnServerConfiguration] The P2SVpnServerConfiguration - * to which the p2sVpnGateway is attached to. - * @property {string} [p2SVpnServerConfiguration.id] Resource ID. - * @property {object} [vpnClientAddressPool] The reference of the address space - * resource which represents Address space for P2S VpnClient. - * @property {array} [vpnClientAddressPool.addressPrefixes] A list of address - * blocks reserved for this virtual network in CIDR notation. - * @property {object} [vpnClientConnectionHealth] All P2S vpnclients' - * connection health status. - * @property {number} [vpnClientConnectionHealth.totalIngressBytesTransferred] - * Total of the Ingress Bytes Transferred in this P2S Vpn connection - * @property {number} [vpnClientConnectionHealth.totalEgressBytesTransferred] - * Total of the Egress Bytes Transferred in this connection - * @property {number} [vpnClientConnectionHealth.vpnClientConnectionsCount] The - * total of p2s vpn clients connected at this time to this P2SVpnGateway. - * @property {array} [vpnClientConnectionHealth.allocatedIpAddresses] List of - * allocated ip addresses to the connected p2s vpn clients. - * @property {string} [etag] Gets a unique read-only string that changes - * whenever the resource is updated. - */ +*/ export interface P2SVpnGateway extends Resource { + /** + * The VirtualHub to which the gateway belongs + */ virtualHub?: SubResource; + /** + * The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', + * 'Deleting', 'Failed' + */ provisioningState?: string; + /** + * The scale unit for this p2s vpn gateway. + */ vpnGatewayScaleUnit?: number; + /** + * The P2SVpnServerConfiguration to which the p2sVpnGateway is attached to. + */ p2SVpnServerConfiguration?: SubResource; + /** + * The reference of the address space resource which represents Address space for P2S VpnClient. + */ vpnClientAddressPool?: AddressSpace; + /** + * All P2S vpnclients' connection health status. + */ readonly vpnClientConnectionHealth?: VpnClientConnectionHealth; + /** + * Gets a unique read-only string that changes whenever the resource is updated. + */ readonly etag?: string; } /** - * @class - * Initializes a new instance of the P2SVpnProfileParameters class. - * @constructor * Vpn Client Parameters for package generation - * - * @property {string} [authenticationMethod] VPN client Authentication Method. - * Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: - * 'EAPTLS', 'EAPMSCHAPv2' - */ +*/ export interface P2SVpnProfileParameters { + /** + * VPN client Authentication Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible + * values include: 'EAPTLS', 'EAPMSCHAPv2' + */ authenticationMethod?: string; } /** - * @class - * Initializes a new instance of the VpnProfileResponse class. - * @constructor * Vpn Profile Response for package generation - * - * @property {string} [profileUrl] URL to the VPN profile - */ +*/ export interface VpnProfileResponse { + /** + * URL to the VPN profile + */ profileUrl?: string; } - /** - * @class - * Initializes a new instance of the ApplicationGatewayListResult class. - * @constructor * Response for ListApplicationGateways API service call. - * - * @property {string} [nextLink] URL to get the next set of results. - */ +*/ export interface ApplicationGatewayListResult extends Array { + /** + * URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ApplicationGatewayAvailableSslPredefinedPolicies class. - * @constructor * Response for ApplicationGatewayAvailableSslOptions API service call. - * - * @property {string} [nextLink] URL to get the next set of results. - */ -export interface ApplicationGatewayAvailableSslPredefinedPolicies extends Array { +*/ +export interface ApplicationGatewayAvailableSslPredefinedPolicies extends +Array { + /** + * URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ApplicationSecurityGroupListResult class. - * @constructor * A list of application security groups. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ApplicationSecurityGroupListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the AvailableDelegationsResult class. - * @constructor * An array of available delegations. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface AvailableDelegationsResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallListResult class. - * @constructor * Response for ListAzureFirewalls API service call. - * - * @property {string} [nextLink] URL to get the next set of results. - */ +*/ export interface AzureFirewallListResult extends Array { + /** + * URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the AzureFirewallFqdnTagListResult class. - * @constructor * Response for ListAzureFirewallFqdnTags API service call. - * - * @property {string} [nextLink] URL to get the next set of results. - */ +*/ export interface AzureFirewallFqdnTagListResult extends Array { + /** + * URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the DdosProtectionPlanListResult class. - * @constructor * A list of DDoS protection plans. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface DdosProtectionPlanListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the EndpointServicesListResult class. - * @constructor * Response for the ListAvailableEndpointServices API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface EndpointServicesListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the AuthorizationListResult class. - * @constructor - * Response for ListAuthorizations API service call retrieves all - * authorizations that belongs to an ExpressRouteCircuit. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * Response for ListAuthorizations API service call retrieves all authorizations that belongs to an + * ExpressRouteCircuit. +*/ export interface AuthorizationListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitPeeringListResult class. - * @constructor - * Response for ListPeering API service call retrieves all peerings that belong - * to an ExpressRouteCircuit. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * Response for ListPeering API service call retrieves all peerings that belong to an + * ExpressRouteCircuit. +*/ export interface ExpressRouteCircuitPeeringListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitConnectionListResult class. - * @constructor - * Response for ListConnections API service call retrieves all global reach - * connections that belongs to a Private Peering for an ExpressRouteCircuit. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface ExpressRouteCircuitConnectionListResult extends Array { + * Response for ListConnections API service call retrieves all global reach connections that + * belongs to a Private Peering for an ExpressRouteCircuit. +*/ +export interface ExpressRouteCircuitConnectionListResult extends +Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCircuitListResult class. - * @constructor * Response for ListExpressRouteCircuit API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ExpressRouteCircuitListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteServiceProviderListResult class. - * @constructor * Response for the ListExpressRouteServiceProvider API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ExpressRouteServiceProviderListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCrossConnectionListResult class. - * @constructor * Response for ListExpressRouteCrossConnection API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ExpressRouteCrossConnectionListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteCrossConnectionPeeringList class. - * @constructor - * Response for ListPeering API service call retrieves all peerings that belong - * to an ExpressRouteCrossConnection. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface ExpressRouteCrossConnectionPeeringList extends Array { + * Response for ListPeering API service call retrieves all peerings that belong to an + * ExpressRouteCrossConnection. +*/ +export interface ExpressRouteCrossConnectionPeeringList extends +Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRoutePortsLocationListResult class. - * @constructor * @summary ExpressRoutePorts Location List Result - * - * Response for ListExpressRoutePortsLocations API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * @description Response for ListExpressRoutePortsLocations API service call. +*/ export interface ExpressRoutePortsLocationListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRoutePortListResult class. - * @constructor * @summary ExpressRoute Port List Result - * - * Response for ListExpressRoutePorts API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * @description Response for ListExpressRoutePorts API service call. +*/ export interface ExpressRoutePortListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ExpressRouteLinkListResult class. - * @constructor * @summary ExpressRouteLink List Result - * - * Response for ListExpressRouteLinks API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * @description Response for ListExpressRouteLinks API service call. +*/ export interface ExpressRouteLinkListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the InterfaceEndpointListResult class. - * @constructor * Response for the ListInterfaceEndpoints API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface InterfaceEndpointListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the LoadBalancerListResult class. - * @constructor * Response for ListLoadBalancers API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface LoadBalancerListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the LoadBalancerBackendAddressPoolListResult class. - * @constructor * Response for ListBackendAddressPool API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface LoadBalancerBackendAddressPoolListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the LoadBalancerFrontendIPConfigurationListResult class. - * @constructor * Response for ListFrontendIPConfiguration API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface LoadBalancerFrontendIPConfigurationListResult extends Array { +*/ +export interface LoadBalancerFrontendIPConfigurationListResult extends +Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the InboundNatRuleListResult class. - * @constructor * Response for ListInboundNatRule API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface InboundNatRuleListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the LoadBalancerLoadBalancingRuleListResult class. - * @constructor * Response for ListLoadBalancingRule API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface LoadBalancerLoadBalancingRuleListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the LoadBalancerOutboundRuleListResult class. - * @constructor * Response for ListOutboundRule API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface LoadBalancerOutboundRuleListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceListResult class. - * @constructor * Response for the ListNetworkInterface API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface NetworkInterfaceListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the LoadBalancerProbeListResult class. - * @constructor * Response for ListProbe API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface LoadBalancerProbeListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceIPConfigurationListResult class. - * @constructor * Response for list ip configurations API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface NetworkInterfaceIPConfigurationListResult extends Array { +*/ +export interface NetworkInterfaceIPConfigurationListResult extends +Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceLoadBalancerListResult class. - * @constructor * Response for list ip configurations API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface NetworkInterfaceLoadBalancerListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the NetworkInterfaceTapConfigurationListResult class. - * @constructor * Response for list tap configurations API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface NetworkInterfaceTapConfigurationListResult extends Array { +*/ +export interface NetworkInterfaceTapConfigurationListResult extends +Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the NetworkProfileListResult class. - * @constructor * Response for ListNetworkProfiles API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface NetworkProfileListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the NetworkSecurityGroupListResult class. - * @constructor * Response for ListNetworkSecurityGroups API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface NetworkSecurityGroupListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the SecurityRuleListResult class. - * @constructor - * Response for ListSecurityRule API service call. Retrieves all security rules - * that belongs to a network security group. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a + * network security group. +*/ export interface SecurityRuleListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the NetworkWatcherListResult class. - * @constructor * List of network watcher resources. - * - */ +*/ export interface NetworkWatcherListResult extends Array { } /** - * @class - * Initializes a new instance of the PacketCaptureListResult class. - * @constructor * List of packet capture sessions. - * - */ +*/ export interface PacketCaptureListResult extends Array { } /** - * @class - * Initializes a new instance of the ConnectionMonitorListResult class. - * @constructor * List of connection monitors. - * - */ +*/ export interface ConnectionMonitorListResult extends Array { } /** - * @class - * Initializes a new instance of the OperationListResult class. - * @constructor - * Result of the request to list Network operations. It contains a list of - * operations and a URL link to get the next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list Network operations. It contains a list of operations and a URL + * link to get the next set of results. +*/ export interface OperationListResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the PublicIPAddressListResult class. - * @constructor * Response for ListPublicIpAddresses API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface PublicIPAddressListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the PublicIPPrefixListResult class. - * @constructor * Response for ListPublicIpPrefixes API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface PublicIPPrefixListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the RouteFilterListResult class. - * @constructor * Response for the ListRouteFilters API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface RouteFilterListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the RouteFilterRuleListResult class. - * @constructor * Response for the ListRouteFilterRules API service call - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface RouteFilterRuleListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the RouteTableListResult class. - * @constructor * Response for the ListRouteTable API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface RouteTableListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the RouteListResult class. - * @constructor * Response for the ListRoute API service call - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface RouteListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the BgpServiceCommunityListResult class. - * @constructor * Response for the ListServiceCommunity API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface BgpServiceCommunityListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ServiceEndpointPolicyListResult class. - * @constructor * Response for ListServiceEndpointPolicies API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface ServiceEndpointPolicyListResult extends Array { + /** + * The URL to get the next set of results. + */ 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. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface ServiceEndpointPolicyDefinitionListResult extends Array { + * Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service + * endpoint policy definition that belongs to a service endpoint policy. +*/ +export interface ServiceEndpointPolicyDefinitionListResult extends +Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the UsagesListResult class. - * @constructor * The list usages operation response. - * - * @property {string} [nextLink] URL to get the next set of results. - */ +*/ export interface UsagesListResult extends Array { + /** + * URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkListResult class. - * @constructor * Response for the ListVirtualNetworks API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface VirtualNetworkListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkListUsageResult class. - * @constructor * Response for the virtual networks GetUsage API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface VirtualNetworkListUsageResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the SubnetListResult class. - * @constructor - * Response for ListSubnets API service callRetrieves all subnet that belongs - * to a virtual network - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network +*/ export interface SubnetListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkPeeringListResult class. - * @constructor - * Response for ListSubnets API service call. Retrieves all subnets that belong - * to a virtual network. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ + * Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual + * network. +*/ export interface VirtualNetworkPeeringListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkGatewayListResult class. - * @constructor * Response for the ListVirtualNetworkGateways API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface VirtualNetworkGatewayListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkGatewayListConnectionsResult class. - * @constructor * Response for the VirtualNetworkGatewayListConnections API service call - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface VirtualNetworkGatewayListConnectionsResult extends Array { +*/ +export interface VirtualNetworkGatewayListConnectionsResult extends +Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkGatewayConnectionListResult class. - * @constructor * Response for the ListVirtualNetworkGatewayConnections API service call - * - * @property {string} [nextLink] The URL to get the next set of results. - */ -export interface VirtualNetworkGatewayConnectionListResult extends Array { +*/ +export interface VirtualNetworkGatewayConnectionListResult extends +Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the LocalNetworkGatewayListResult class. - * @constructor * Response for ListLocalNetworkGateways API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface LocalNetworkGatewayListResult extends Array { + /** + * The URL to get the next set of results. + */ readonly nextLink?: string; } /** - * @class - * Initializes a new instance of the VirtualNetworkTapListResult class. - * @constructor * Response for ListVirtualNetworkTap API service call. - * - * @property {string} [nextLink] The URL to get the next set of results. - */ +*/ export interface VirtualNetworkTapListResult extends Array { + /** + * The URL to get the next set of results. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListVirtualWANsResult class. - * @constructor - * Result of the request to list VirtualWANs. It contains a list of VirtualWANs - * and a URL nextLink to get the next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink + * to get the next set of results. +*/ export interface ListVirtualWANsResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListVpnSitesResult class. - * @constructor - * Result of the request to list VpnSites. It contains a list of VpnSites and a - * URL nextLink to get the next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get + * the next set of results. +*/ export interface ListVpnSitesResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListVirtualHubsResult class. - * @constructor - * Result of the request to list VirtualHubs. It contains a list of VirtualHubs - * and a URL nextLink to get the next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink + * to get the next set of results. +*/ export interface ListVirtualHubsResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListHubVirtualNetworkConnectionsResult class. - * @constructor - * List of HubVirtualNetworkConnections and a URL nextLink to get the next set - * of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ -export interface ListHubVirtualNetworkConnectionsResult extends Array { + * List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. +*/ +export interface ListHubVirtualNetworkConnectionsResult extends Array +{ + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListVpnGatewaysResult class. - * @constructor - * Result of the request to list VpnGateways. It contains a list of VpnGateways - * and a URL nextLink to get the next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink + * to get the next set of results. +*/ export interface ListVpnGatewaysResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListVpnConnectionsResult class. - * @constructor - * Result of the request to list all vpn connections to a virtual wan vpn - * gateway. It contains a list of Vpn Connections and a URL nextLink to get the - * next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a + * list of Vpn Connections and a URL nextLink to get the next set of results. +*/ export interface ListVpnConnectionsResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListP2SVpnServerConfigurationsResult class. - * @constructor - * Result of the request to list all P2SVpnServerConfigurations associated to a - * VirtualWan. It contains a list of P2SVpnServerConfigurations and a URL - * nextLink to get the next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list all P2SVpnServerConfigurations associated to a VirtualWan. It + * contains a list of P2SVpnServerConfigurations and a URL nextLink to get the next set of results. +*/ export interface ListP2SVpnServerConfigurationsResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } /** - * @class - * Initializes a new instance of the ListP2SVpnGatewaysResult class. - * @constructor - * Result of the request to list P2SVpnGateways. It contains a list of - * P2SVpnGateways and a URL nextLink to get the next set of results. - * - * @property {string} [nextLink] URL to get the next set of operation list - * results if there are any. - */ + * Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL + * nextLink to get the next set of results. +*/ export interface ListP2SVpnGatewaysResult extends Array { + /** + * URL to get the next set of operation list results if there are any. + */ nextLink?: string; } diff --git a/lib/services/networkManagement2/lib/models/index.js b/lib/services/networkManagement2/lib/models/index.js index c3ef882830..14fb9da4e0 100644 --- a/lib/services/networkManagement2/lib/models/index.js +++ b/lib/services/networkManagement2/lib/models/index.js @@ -35,6 +35,7 @@ exports.ServiceEndpointPolicyDefinition = require('./serviceEndpointPolicyDefini exports.ServiceEndpointPolicy = require('./serviceEndpointPolicy'); exports.PublicIPAddressSku = require('./publicIPAddressSku'); exports.PublicIPAddressDnsSettings = require('./publicIPAddressDnsSettings'); +exports.DdosSettings = require('./ddosSettings'); exports.IpTag = require('./ipTag'); exports.PublicIPAddress = require('./publicIPAddress'); exports.IPConfiguration = require('./iPConfiguration'); @@ -83,12 +84,17 @@ exports.ApplicationGatewayAutoscaleConfiguration = require('./applicationGateway exports.ManagedServiceIdentityUserAssignedIdentitiesValue = require('./managedServiceIdentityUserAssignedIdentitiesValue'); exports.ManagedServiceIdentity = require('./managedServiceIdentity'); exports.ApplicationGateway = require('./applicationGateway'); +exports.ApplicationGatewayAvailableServerVariablesResult = require('./applicationGatewayAvailableServerVariablesResult'); +exports.ApplicationGatewayAvailableRequestHeadersResult = require('./applicationGatewayAvailableRequestHeadersResult'); +exports.ApplicationGatewayAvailableResponseHeadersResult = require('./applicationGatewayAvailableResponseHeadersResult'); exports.ApplicationGatewayFirewallRule = require('./applicationGatewayFirewallRule'); exports.ApplicationGatewayFirewallRuleGroup = require('./applicationGatewayFirewallRuleGroup'); exports.ApplicationGatewayFirewallRuleSet = require('./applicationGatewayFirewallRuleSet'); exports.ApplicationGatewayAvailableWafRuleSetsResult = require('./applicationGatewayAvailableWafRuleSetsResult'); exports.ApplicationGatewayAvailableSslOptions = require('./applicationGatewayAvailableSslOptions'); exports.ApplicationGatewaySslPredefinedPolicy = require('./applicationGatewaySslPredefinedPolicy'); +exports.ErrorDetails = require('./errorDetails'); +exports.ErrorModel = require('./errorModel'); exports.TagsObject = require('./tagsObject'); exports.AvailableDelegation = require('./availableDelegation'); exports.AzureFirewallIPConfiguration = require('./azureFirewallIPConfiguration'); @@ -149,8 +155,6 @@ exports.Probe = require('./probe'); exports.InboundNatPool = require('./inboundNatPool'); exports.OutboundRule = require('./outboundRule'); exports.LoadBalancer = require('./loadBalancer'); -exports.ErrorDetails = require('./errorDetails'); -exports.ErrorModel = require('./errorModel'); exports.AzureAsyncOperationResult = require('./azureAsyncOperationResult'); exports.EffectiveNetworkSecurityGroupAssociation = require('./effectiveNetworkSecurityGroupAssociation'); exports.EffectiveNetworkSecurityRule = require('./effectiveNetworkSecurityRule'); diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js index bc754a7e9f..bb51011b7a 100644 --- a/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js +++ b/lib/services/networkManagement2/lib/models/networkInterfaceIPConfiguration.js @@ -229,6 +229,16 @@ class NetworkInterfaceIPConfiguration extends models['SubResource'] { * resolves to this public IP address. If the reverseFqdn is specified, then * a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} [publicIPAddress.ddosSettings] The DDoS protection + * custom policy associated with the public IP address. + * @property {object} [publicIPAddress.ddosSettings.ddosCustomPolicy] The + * DDoS custom policy associated with the public IP. + * @property {string} [publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} [publicIPAddress.ddosSettings.protectionCoverage] The + * DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} [publicIPAddress.ipTags] The list of tags associated * with the public IP address. * @property {string} [publicIPAddress.ipAddress] The IP address associated diff --git a/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js b/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js index d79d64dcf9..3e4c688637 100644 --- a/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js +++ b/lib/services/networkManagement2/lib/models/networkInterfaceTapConfiguration.js @@ -313,6 +313,20 @@ class NetworkInterfaceTapConfiguration extends models['SubResource'] { * that resolves to this public IP address. If the reverseFqdn is specified, * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * @property {object} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * @property {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} + * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} * [virtualNetworkTap.destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -630,6 +644,20 @@ class NetworkInterfaceTapConfiguration extends models['SubResource'] { * that resolves to this public IP address. If the reverseFqdn is specified, * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * @property {object} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * @property {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} + * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} * [virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. diff --git a/lib/services/networkManagement2/lib/models/publicIPAddress.js b/lib/services/networkManagement2/lib/models/publicIPAddress.js index 761e9f4765..873330b34d 100644 --- a/lib/services/networkManagement2/lib/models/publicIPAddress.js +++ b/lib/services/networkManagement2/lib/models/publicIPAddress.js @@ -130,6 +130,14 @@ class PublicIPAddress extends models['Resource'] { * public IP address. If the reverseFqdn is specified, then a PTR DNS record * is created pointing from the IP address in the in-addr.arpa domain to the * reverse FQDN. + * @property {object} [ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * @property {object} [ddosSettings.ddosCustomPolicy] The DDoS custom policy + * associated with the public IP. + * @property {string} [ddosSettings.ddosCustomPolicy.id] Resource ID. + * @property {string} [ddosSettings.protectionCoverage] The DDoS protection + * policy customizability of the public IP. Only standard coverage will have + * the ability to be customized. Possible values include: 'Basic', 'Standard' * @property {array} [ipTags] The list of tags associated with the public IP * address. * @property {string} [ipAddress] The IP address associated with the public @@ -250,6 +258,14 @@ class PublicIPAddress extends models['Resource'] { className: 'PublicIPAddressDnsSettings' } }, + ddosSettings: { + required: false, + serializedName: 'properties.ddosSettings', + type: { + name: 'Composite', + className: 'DdosSettings' + } + }, ipTags: { required: false, serializedName: 'properties.ipTags', diff --git a/lib/services/networkManagement2/lib/models/virtualNetworkTap.js b/lib/services/networkManagement2/lib/models/virtualNetworkTap.js index 7a465cf8bc..141a9651cf 100644 --- a/lib/services/networkManagement2/lib/models/virtualNetworkTap.js +++ b/lib/services/networkManagement2/lib/models/virtualNetworkTap.js @@ -306,6 +306,20 @@ class VirtualNetworkTap extends models['Resource'] { * that resolves to this public IP address. If the reverseFqdn is specified, * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * @property {object} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * @property {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} + * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} * [destinationNetworkInterfaceIPConfiguration.publicIPAddress.ipTags] The * list of tags associated with the public IP address. @@ -619,6 +633,20 @@ class VirtualNetworkTap extends models['Resource'] { * that resolves to this public IP address. If the reverseFqdn is specified, * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. + * @property {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * @property {object} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * @property {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy.id] + * Resource ID. + * @property {string} + * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' * @property {array} * [destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. diff --git a/lib/services/networkManagement2/lib/networkManagementClient.js b/lib/services/networkManagement2/lib/networkManagementClient.js index baa2b3cbc4..d29c61bf16 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.js +++ b/lib/services/networkManagement2/lib/networkManagementClient.js @@ -61,7 +61,7 @@ function _checkDnsNameAvailability(location, domainNameLabel, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { @@ -206,7 +206,7 @@ function _supportedSecurityProviders(resourceGroupName, virtualWANName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.subscriptionId === null || this.subscriptionId === undefined || typeof this.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/applicationGateways.js b/lib/services/networkManagement2/lib/operations/applicationGateways.js index fbfc67b905..cbe7e2a8cb 100644 --- a/lib/services/networkManagement2/lib/operations/applicationGateways.js +++ b/lib/services/networkManagement2/lib/operations/applicationGateways.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, applicationGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -581,7 +581,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -717,7 +717,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1026,6 +1026,408 @@ function _backendHealth(resourceGroupName, applicationGatewayName, options, call }); } +/** + * Lists all available server variables. + * + * @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 + * ApplicationGatewayAvailableServerVariablesResult} 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 _listAvailableServerVariables(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-11-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/applicationGatewayAvailableServerVariables'; + 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) { + let internalError = null; + if (parsedErrorResponse.error) internalError = parsedErrorResponse.error; + error.code = internalError ? internalError.code : parsedErrorResponse.code; + error.message = internalError ? internalError.message : parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['ErrorModel']().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['ApplicationGatewayAvailableServerVariablesResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Lists all available request headers. + * + * @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 + * ApplicationGatewayAvailableRequestHeadersResult} 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 _listAvailableRequestHeaders(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-11-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/applicationGatewayAvailableRequestHeaders'; + 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) { + let internalError = null; + if (parsedErrorResponse.error) internalError = parsedErrorResponse.error; + error.code = internalError ? internalError.code : parsedErrorResponse.code; + error.message = internalError ? internalError.message : parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['ErrorModel']().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['ApplicationGatewayAvailableRequestHeadersResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + +/** + * Lists all available response headers. + * + * @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 + * ApplicationGatewayAvailableResponseHeadersResult} 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 _listAvailableResponseHeaders(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-11-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/applicationGatewayAvailableResponseHeaders'; + 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) { + let internalError = null; + if (parsedErrorResponse.error) internalError = parsedErrorResponse.error; + error.code = internalError ? internalError.code : parsedErrorResponse.code; + error.message = internalError ? internalError.message : parsedErrorResponse.message; + } + if (parsedErrorResponse !== null && parsedErrorResponse !== undefined) { + let resultMapper = new client.models['ErrorModel']().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['ApplicationGatewayAvailableResponseHeadersResult']().mapper(); + result = client.deserialize(resultMapper, parsedResponse, 'result'); + } + } catch (error) { + let deserializationError = new Error(`Error ${error} occurred in deserializing the responseBody - ${responseBody}`); + deserializationError.request = msRest.stripRequest(httpRequest); + deserializationError.response = msRest.stripResponse(response); + return callback(deserializationError); + } + } + + return callback(null, result, httpRequest, response); + }); +} + /** * Lists all available web application firewall rule sets. * @@ -1059,7 +1461,7 @@ function _listAvailableWafRuleSets(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1191,7 +1593,7 @@ function _listAvailableSslOptions(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1324,7 +1726,7 @@ function _listAvailableSslPredefinedPolicies(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1458,7 +1860,7 @@ function _getSslPredefinedPolicy(predefinedPolicyName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1596,7 +1998,7 @@ function _beginDeleteMethod(resourceGroupName, applicationGatewayName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1888,7 +2290,7 @@ function _beginCreateOrUpdate(resourceGroupName, applicationGatewayName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2070,7 +2472,7 @@ function _beginUpdateTags(resourceGroupName, applicationGatewayName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2229,7 +2631,7 @@ function _beginStart(resourceGroupName, applicationGatewayName, options, callbac if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2354,7 +2756,7 @@ function _beginStop(resourceGroupName, applicationGatewayName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2486,7 +2888,7 @@ function _beginBackendHealth(resourceGroupName, applicationGatewayName, options, throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3002,6 +3404,9 @@ class ApplicationGateways { this._start = _start; this._stop = _stop; this._backendHealth = _backendHealth; + this._listAvailableServerVariables = _listAvailableServerVariables; + this._listAvailableRequestHeaders = _listAvailableRequestHeaders; + this._listAvailableResponseHeaders = _listAvailableResponseHeaders; this._listAvailableWafRuleSets = _listAvailableWafRuleSets; this._listAvailableSslOptions = _listAvailableSslOptions; this._listAvailableSslPredefinedPolicies = _listAvailableSslPredefinedPolicies; @@ -4129,6 +4534,246 @@ class ApplicationGateways { } } + /** + * Lists all available server variables. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [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. + */ + listAvailableServerVariablesWithHttpOperationResponse(options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listAvailableServerVariables(options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Lists all available server variables. + * + * @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 {ApplicationGatewayAvailableServerVariablesResult} - 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 + * ApplicationGatewayAvailableServerVariablesResult} 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. + */ + listAvailableServerVariables(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._listAvailableServerVariables(options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listAvailableServerVariables(options, optionalCallback); + } + } + + /** + * Lists all available request headers. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [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. + */ + listAvailableRequestHeadersWithHttpOperationResponse(options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listAvailableRequestHeaders(options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Lists all available request headers. + * + * @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 {ApplicationGatewayAvailableRequestHeadersResult} - 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 + * ApplicationGatewayAvailableRequestHeadersResult} 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. + */ + listAvailableRequestHeaders(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._listAvailableRequestHeaders(options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listAvailableRequestHeaders(options, optionalCallback); + } + } + + /** + * Lists all available response headers. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [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. + */ + listAvailableResponseHeadersWithHttpOperationResponse(options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._listAvailableResponseHeaders(options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Lists all available response headers. + * + * @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 {ApplicationGatewayAvailableResponseHeadersResult} - 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 + * ApplicationGatewayAvailableResponseHeadersResult} 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. + */ + listAvailableResponseHeaders(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._listAvailableResponseHeaders(options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._listAvailableResponseHeaders(options, optionalCallback); + } + } + /** * Lists all available web application firewall rule sets. * diff --git a/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js b/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js index cbd49b44de..2ec88bc52c 100644 --- a/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js +++ b/lib/services/networkManagement2/lib/operations/applicationSecurityGroups.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, applicationSecurityGroupName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -312,6 +312,91 @@ function _createOrUpdate(resourceGroupName, applicationSecurityGroupName, parame }); } + +/** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 ApplicationSecurityGroup} 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, applicationSecurityGroupName, 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, applicationSecurityGroupName, 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['ApplicationSecurityGroup']().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 application security groups in a subscription. * @@ -344,7 +429,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -478,7 +563,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -617,7 +702,7 @@ function _beginDeleteMethod(resourceGroupName, applicationSecurityGroupName, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -754,7 +839,7 @@ function _beginCreateOrUpdate(resourceGroupName, applicationSecurityGroupName, p if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -896,6 +981,173 @@ function _beginCreateOrUpdate(resourceGroupName, applicationSecurityGroupName, p }); } +/** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 ApplicationSecurityGroup} 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, applicationSecurityGroupName, 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-11-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 (applicationSecurityGroupName === null || applicationSecurityGroupName === undefined || typeof applicationSecurityGroupName.valueOf() !== 'string') { + throw new Error('applicationSecurityGroupName 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/applicationSecurityGroups/{applicationSecurityGroupName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{applicationSecurityGroupName}', encodeURIComponent(applicationSecurityGroupName)); + 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['ApplicationSecurityGroup']().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 application security groups in a subscription. * @@ -1163,10 +1415,12 @@ class ApplicationSecurityGroups { 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; } @@ -1454,6 +1708,105 @@ class ApplicationSecurityGroups { } } + /** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + updateTagsWithHttpOperationResponse(resourceGroupName, applicationSecurityGroupName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._updateTags(resourceGroupName, applicationSecurityGroupName, 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 an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {ApplicationSecurityGroup} - 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 ApplicationSecurityGroup} 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, applicationSecurityGroupName, 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, applicationSecurityGroupName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._updateTags(resourceGroupName, applicationSecurityGroupName, parameters, options, optionalCallback); + } + } + /** * Gets all application security groups in a subscription. * @@ -1810,6 +2163,105 @@ class ApplicationSecurityGroups { } } + /** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName, applicationSecurityGroupName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginUpdateTags(resourceGroupName, applicationSecurityGroupName, 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 an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {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 {ApplicationSecurityGroup} - 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 ApplicationSecurityGroup} 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, applicationSecurityGroupName, 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, applicationSecurityGroupName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginUpdateTags(resourceGroupName, applicationSecurityGroupName, parameters, options, optionalCallback); + } + } + /** * Gets all application security groups in a subscription. * diff --git a/lib/services/networkManagement2/lib/operations/availableDelegations.js b/lib/services/networkManagement2/lib/operations/availableDelegations.js index c9135d952e..ecfe61cda0 100644 --- a/lib/services/networkManagement2/lib/operations/availableDelegations.js +++ b/lib/services/networkManagement2/lib/operations/availableDelegations.js @@ -49,7 +49,7 @@ function _list(location, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/availableEndpointServices.js b/lib/services/networkManagement2/lib/operations/availableEndpointServices.js index ceb1cd2fa8..31208b2a1f 100644 --- a/lib/services/networkManagement2/lib/operations/availableEndpointServices.js +++ b/lib/services/networkManagement2/lib/operations/availableEndpointServices.js @@ -48,7 +48,7 @@ function _list(location, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/availableResourceGroupDelegations.js b/lib/services/networkManagement2/lib/operations/availableResourceGroupDelegations.js index 3c242eaf47..e88b1fad5e 100644 --- a/lib/services/networkManagement2/lib/operations/availableResourceGroupDelegations.js +++ b/lib/services/networkManagement2/lib/operations/availableResourceGroupDelegations.js @@ -51,7 +51,7 @@ function _list(location, resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/azureFirewallFqdnTags.js b/lib/services/networkManagement2/lib/operations/azureFirewallFqdnTags.js index 1239e0ba2f..339e85cc84 100644 --- a/lib/services/networkManagement2/lib/operations/azureFirewallFqdnTags.js +++ b/lib/services/networkManagement2/lib/operations/azureFirewallFqdnTags.js @@ -46,7 +46,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/azureFirewalls.js b/lib/services/networkManagement2/lib/operations/azureFirewalls.js index ef1dc648b0..4b1c21651e 100644 --- a/lib/services/networkManagement2/lib/operations/azureFirewalls.js +++ b/lib/services/networkManagement2/lib/operations/azureFirewalls.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, azureFirewallName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -357,7 +357,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -493,7 +493,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -627,7 +627,7 @@ function _beginDeleteMethod(resourceGroupName, azureFirewallName, options, callb if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -778,7 +778,7 @@ function _beginCreateOrUpdate(resourceGroupName, azureFirewallName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js b/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js index 9e942bbc59..37f8d308a1 100644 --- a/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js +++ b/lib/services/networkManagement2/lib/operations/bgpServiceCommunities.js @@ -46,7 +46,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/connectionMonitors.js b/lib/services/networkManagement2/lib/operations/connectionMonitors.js index ed2c2ebe34..dc37300297 100644 --- a/lib/services/networkManagement2/lib/operations/connectionMonitors.js +++ b/lib/services/networkManagement2/lib/operations/connectionMonitors.js @@ -167,7 +167,7 @@ function _get(resourceGroupName, networkWatcherName, connectionMonitorName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -598,7 +598,7 @@ function _list(resourceGroupName, networkWatcherName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -778,7 +778,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkWatcherName, connectionM if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -962,7 +962,7 @@ function _beginDeleteMethod(resourceGroupName, networkWatcherName, connectionMon if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1095,7 +1095,7 @@ function _beginStop(resourceGroupName, networkWatcherName, connectionMonitorName if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1228,7 +1228,7 @@ function _beginStart(resourceGroupName, networkWatcherName, connectionMonitorNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1364,7 +1364,7 @@ function _beginQuery(resourceGroupName, networkWatcherName, connectionMonitorNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js b/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js index b042b7dd1c..a2a8554e3c 100644 --- a/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js +++ b/lib/services/networkManagement2/lib/operations/ddosProtectionPlans.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, ddosProtectionPlanName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -337,7 +337,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -471,7 +471,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -609,7 +609,7 @@ function _beginDeleteMethod(resourceGroupName, ddosProtectionPlanName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -742,7 +742,7 @@ function _beginCreateOrUpdate(resourceGroupName, ddosProtectionPlanName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js b/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js index bdde507af6..fb8f9be421 100644 --- a/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js +++ b/lib/services/networkManagement2/lib/operations/defaultSecurityRules.js @@ -51,7 +51,7 @@ function _list(resourceGroupName, networkSecurityGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -198,7 +198,7 @@ function _get(resourceGroupName, networkSecurityGroupName, defaultSecurityRuleNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js index 183d5b8462..d8fe7affe9 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuitAuthorizations.js @@ -118,7 +118,7 @@ function _get(resourceGroupName, circuitName, authorizationName, options, callba if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -367,7 +367,7 @@ function _list(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -512,7 +512,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, authorizationName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -665,7 +665,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, authorizationName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js index b11d32d6de..e435af4167 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuitConnections.js @@ -125,7 +125,7 @@ function _get(resourceGroupName, circuitName, peeringName, connectionName, optio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -394,7 +394,7 @@ function _list(resourceGroupName, circuitName, peeringName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -546,7 +546,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, peeringName, connect if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -716,7 +716,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, peeringName, conne if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js index 1dd8a495d4..d04c764460 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuitPeerings.js @@ -117,7 +117,7 @@ function _get(resourceGroupName, circuitName, peeringName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -479,7 +479,7 @@ function _list(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -623,7 +623,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, peeringName, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -889,7 +889,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, peeringName, peeri if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js b/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js index c33b5478e4..eeae671832 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCircuits.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -741,7 +741,7 @@ function _getStats(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -887,7 +887,7 @@ function _getPeeringStats(resourceGroupName, circuitName, peeringName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1033,7 +1033,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1169,7 +1169,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1303,7 +1303,7 @@ function _beginDeleteMethod(resourceGroupName, circuitName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1500,7 +1500,7 @@ function _beginCreateOrUpdate(resourceGroupName, circuitName, parameters, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1682,7 +1682,7 @@ function _beginUpdateTags(resourceGroupName, circuitName, parameters, options, c if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1848,7 +1848,7 @@ function _beginListArpTable(resourceGroupName, circuitName, peeringName, deviceP if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2005,7 +2005,7 @@ function _beginListRoutesTable(resourceGroupName, circuitName, peeringName, devi if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2163,7 +2163,7 @@ function _beginListRoutesTableSummary(resourceGroupName, circuitName, peeringNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteConnections.js b/lib/services/networkManagement2/lib/operations/expressRouteConnections.js index 46537277c1..f1097c066b 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteConnections.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteConnections.js @@ -158,7 +158,7 @@ function _get(resourceGroupName, expressRouteGatewayName, connectionName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -373,7 +373,7 @@ function _list(resourceGroupName, expressRouteGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -543,7 +543,7 @@ function _beginCreateOrUpdate(resourceGroupName, expressRouteGatewayName, connec if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -726,7 +726,7 @@ function _beginDeleteMethod(resourceGroupName, expressRouteGatewayName, connecti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js index 6b95dfb5c9..a66fac00cd 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnectionPeerings.js @@ -51,7 +51,7 @@ function _list(resourceGroupName, crossConnectionName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -264,7 +264,7 @@ function _get(resourceGroupName, crossConnectionName, peeringName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -595,7 +595,7 @@ function _beginDeleteMethod(resourceGroupName, crossConnectionName, peeringName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -829,7 +829,7 @@ function _beginCreateOrUpdate(resourceGroupName, crossConnectionName, peeringNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js index 6091982c69..77de78d9f6 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteCrossConnections.js @@ -46,7 +46,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -180,7 +180,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -322,7 +322,7 @@ function _get(resourceGroupName, crossConnectionName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -947,7 +947,7 @@ function _beginCreateOrUpdate(resourceGroupName, crossConnectionName, parameters if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1113,7 +1113,7 @@ function _beginUpdateTags(resourceGroupName, crossConnectionName, crossConnectio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1280,7 +1280,7 @@ function _beginListArpTable(resourceGroupName, crossConnectionName, peeringName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1439,7 +1439,7 @@ function _beginListRoutesTableSummary(resourceGroupName, crossConnectionName, pe if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1597,7 +1597,7 @@ function _beginListRoutesTable(resourceGroupName, crossConnectionName, peeringNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteGateways.js b/lib/services/networkManagement2/lib/operations/expressRouteGateways.js index 21a00d5b36..e524e40666 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteGateways.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteGateways.js @@ -46,7 +46,7 @@ function _listBySubscription(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -180,7 +180,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -432,7 +432,7 @@ function _get(resourceGroupName, expressRouteGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -675,7 +675,7 @@ function _beginCreateOrUpdate(resourceGroupName, expressRouteGatewayName, putExp if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -854,7 +854,7 @@ function _beginDeleteMethod(resourceGroupName, expressRouteGatewayName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteLinks.js b/lib/services/networkManagement2/lib/operations/expressRouteLinks.js index a3e698b8e1..63d28ac82c 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteLinks.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteLinks.js @@ -52,7 +52,7 @@ function _get(resourceGroupName, expressRoutePortName, linkName, options, callba if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -202,7 +202,7 @@ function _list(resourceGroupName, expressRoutePortName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRoutePorts.js b/lib/services/networkManagement2/lib/operations/expressRoutePorts.js index 2b78ede842..cf8ecfa743 100644 --- a/lib/services/networkManagement2/lib/operations/expressRoutePorts.js +++ b/lib/services/networkManagement2/lib/operations/expressRoutePorts.js @@ -113,7 +113,7 @@ function _get(resourceGroupName, expressRoutePortName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -442,7 +442,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -578,7 +578,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -713,7 +713,7 @@ function _beginDeleteMethod(resourceGroupName, expressRoutePortName, options, ca if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -864,7 +864,7 @@ function _beginCreateOrUpdate(resourceGroupName, expressRoutePortName, parameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1047,7 +1047,7 @@ function _beginUpdateTags(resourceGroupName, expressRoutePortName, parameters, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRoutePortsLocations.js b/lib/services/networkManagement2/lib/operations/expressRoutePortsLocations.js index d947f57ec5..8df086050f 100644 --- a/lib/services/networkManagement2/lib/operations/expressRoutePortsLocations.js +++ b/lib/services/networkManagement2/lib/operations/expressRoutePortsLocations.js @@ -48,7 +48,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -184,7 +184,7 @@ function _get(locationName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js b/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js index 8a848a5f78..20321c7870 100644 --- a/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js +++ b/lib/services/networkManagement2/lib/operations/expressRouteServiceProviders.js @@ -46,7 +46,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js b/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js index 5940773bc1..a21e10597c 100644 --- a/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js +++ b/lib/services/networkManagement2/lib/operations/hubVirtualNetworkConnections.js @@ -52,7 +52,7 @@ function _get(resourceGroupName, virtualHubName, connectionName, options, callba if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -201,7 +201,7 @@ function _list(resourceGroupName, virtualHubName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/inboundNatRules.js b/lib/services/networkManagement2/lib/operations/inboundNatRules.js index e06bd3730f..584cb6ea7d 100644 --- a/lib/services/networkManagement2/lib/operations/inboundNatRules.js +++ b/lib/services/networkManagement2/lib/operations/inboundNatRules.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -263,7 +263,7 @@ function _get(resourceGroupName, loadBalancerName, inboundNatRuleName, options, throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -544,7 +544,7 @@ function _beginDeleteMethod(resourceGroupName, loadBalancerName, inboundNatRuleN if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -723,7 +723,7 @@ function _beginCreateOrUpdate(resourceGroupName, loadBalancerName, inboundNatRul if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/index.d.ts b/lib/services/networkManagement2/lib/operations/index.d.ts index d9ff0d7af2..0198f8b074 100644 --- a/lib/services/networkManagement2/lib/operations/index.d.ts +++ b/lib/services/networkManagement2/lib/operations/index.d.ts @@ -890,6 +890,165 @@ export interface ApplicationGateways { backendHealth(resourceGroupName: string, applicationGatewayName: string, options: { expand? : string, customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** + * Lists all available server variables. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [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. + */ + listAvailableServerVariablesWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists all available server variables. + * + * @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 {ApplicationGatewayAvailableServerVariablesResult} - 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. + * + * {ApplicationGatewayAvailableServerVariablesResult} [result] - The deserialized result object if an error did not occur. + * See {@link + * ApplicationGatewayAvailableServerVariablesResult} for + * more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listAvailableServerVariables(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableServerVariables(callback: ServiceCallback): void; + listAvailableServerVariables(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Lists all available request headers. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [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. + */ + listAvailableRequestHeadersWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists all available request headers. + * + * @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 {ApplicationGatewayAvailableRequestHeadersResult} - 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. + * + * {ApplicationGatewayAvailableRequestHeadersResult} [result] - The deserialized result object if an error did not occur. + * See {@link + * ApplicationGatewayAvailableRequestHeadersResult} for + * more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listAvailableRequestHeaders(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableRequestHeaders(callback: ServiceCallback): void; + listAvailableRequestHeaders(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Lists all available response headers. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [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. + */ + listAvailableResponseHeadersWithHttpOperationResponse(options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Lists all available response headers. + * + * @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 {ApplicationGatewayAvailableResponseHeadersResult} - 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. + * + * {ApplicationGatewayAvailableResponseHeadersResult} [result] - The deserialized result object if an error did not occur. + * See {@link + * ApplicationGatewayAvailableResponseHeadersResult} for + * more information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + listAvailableResponseHeaders(options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + listAvailableResponseHeaders(callback: ServiceCallback): void; + listAvailableResponseHeaders(options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + /** * Lists all available web application firewall rule sets. * @@ -2192,6 +2351,78 @@ export interface ApplicationSecurityGroups { createOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + updateTagsWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {ApplicationSecurityGroup} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroup} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + updateTags(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + /** * Gets all application security groups in a subscription. * @@ -2440,6 +2671,78 @@ export interface ApplicationSecurityGroups { beginCreateOrUpdate(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.ApplicationSecurityGroup, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + /** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Updates an application security group's tags. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} applicationSecurityGroupName The name of the application + * security group. + * + * @param {object} parameters Parameters supplied to update application + * security group tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {ApplicationSecurityGroup} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + * + * {ServiceCallback} optionalCallback(err, result, request, response) + * + * {Error|ServiceError} err - The Error object if an error occurred, null otherwise. + * + * {ApplicationSecurityGroup} [result] - The deserialized result object if an error did not occur. + * See {@link ApplicationSecurityGroup} for more + * information. + * + * {WebResource} [request] - The HTTP Request object if an error did not occur. + * + * {http.IncomingMessage} [response] - The HTTP Response stream if an error did not occur. + */ + beginUpdateTags(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, applicationSecurityGroupName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + /** * Gets all application security groups in a subscription. * @@ -18209,6 +18512,20 @@ export interface NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -18593,6 +18910,20 @@ export interface NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -19119,6 +19450,20 @@ export interface NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -19503,6 +19848,20 @@ export interface NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -26657,6 +27016,17 @@ export interface PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -26745,6 +27115,17 @@ export interface PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -27308,6 +27689,17 @@ export interface PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -27396,6 +27788,17 @@ export interface PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -40984,6 +41387,20 @@ export interface VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -41344,6 +41761,20 @@ export interface VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -41958,6 +42389,20 @@ export interface VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -42318,6 +42763,20 @@ export interface VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. diff --git a/lib/services/networkManagement2/lib/operations/interfaceEndpoints.js b/lib/services/networkManagement2/lib/operations/interfaceEndpoints.js index b0ee50b968..e36d3c803f 100644 --- a/lib/services/networkManagement2/lib/operations/interfaceEndpoints.js +++ b/lib/services/networkManagement2/lib/operations/interfaceEndpoints.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, interfaceEndpointName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -447,7 +447,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -583,7 +583,7 @@ function _listBySubscription(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -717,7 +717,7 @@ function _beginDeleteMethod(resourceGroupName, interfaceEndpointName, options, c if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -949,7 +949,7 @@ function _beginCreateOrUpdate(resourceGroupName, interfaceEndpointName, paramete if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js b/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js index ae3306f158..240e22ad4d 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerBackendAddressPools.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -195,7 +195,7 @@ function _get(resourceGroupName, loadBalancerName, backendAddressPoolName, optio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js b/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js index 741a76dfe8..57a53a47e0 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerFrontendIPConfigurations.js @@ -51,7 +51,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -198,7 +198,7 @@ function _get(resourceGroupName, loadBalancerName, frontendIPConfigurationName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js b/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js index 76530a651c..60a89da10f 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerLoadBalancingRules.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -195,7 +195,7 @@ function _get(resourceGroupName, loadBalancerName, loadBalancingRuleName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js b/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js index b677a57843..427e95e281 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerNetworkInterfaces.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerOutboundRules.js b/lib/services/networkManagement2/lib/operations/loadBalancerOutboundRules.js index f98dc32618..6a0fc06139 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerOutboundRules.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerOutboundRules.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -195,7 +195,7 @@ function _get(resourceGroupName, loadBalancerName, outboundRuleName, options, ca if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js b/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js index 2851e03a53..ae50028837 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancerProbes.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, loadBalancerName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -195,7 +195,7 @@ function _get(resourceGroupName, loadBalancerName, probeName, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/loadBalancers.js b/lib/services/networkManagement2/lib/operations/loadBalancers.js index 5dfcb5fdc1..5e1ed981fa 100644 --- a/lib/services/networkManagement2/lib/operations/loadBalancers.js +++ b/lib/services/networkManagement2/lib/operations/loadBalancers.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, loadBalancerName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -476,7 +476,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -610,7 +610,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -748,7 +748,7 @@ function _beginDeleteMethod(resourceGroupName, loadBalancerName, options, callba if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -929,7 +929,7 @@ function _beginCreateOrUpdate(resourceGroupName, loadBalancerName, parameters, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1110,7 +1110,7 @@ function _beginUpdateTags(resourceGroupName, loadBalancerName, parameters, optio if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/localNetworkGateways.js b/lib/services/networkManagement2/lib/operations/localNetworkGateways.js index eb535b3b36..b5929a4531 100644 --- a/lib/services/networkManagement2/lib/operations/localNetworkGateways.js +++ b/lib/services/networkManagement2/lib/operations/localNetworkGateways.js @@ -164,7 +164,7 @@ function _get(resourceGroupName, localNetworkGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -460,7 +460,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -635,7 +635,7 @@ function _beginCreateOrUpdate(resourceGroupName, localNetworkGatewayName, parame if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -818,7 +818,7 @@ function _beginDeleteMethod(resourceGroupName, localNetworkGatewayName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -956,7 +956,7 @@ function _beginUpdateTags(resourceGroupName, localNetworkGatewayName, parameters if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js b/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js index 16dc14bbbc..d65ffa0950 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaceIPConfigurations.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, networkInterfaceName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -196,7 +196,7 @@ function _get(resourceGroupName, networkInterfaceName, ipConfigurationName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js b/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js index 9edcfdf8d2..b080647566 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaceLoadBalancers.js @@ -50,7 +50,7 @@ function _list(resourceGroupName, networkInterfaceName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js b/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js index 913636d8df..1e44a1d671 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaceTapConfigurations.js @@ -117,7 +117,7 @@ function _get(resourceGroupName, networkInterfaceName, tapConfigurationName, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -499,6 +499,20 @@ function _get(resourceGroupName, networkInterfaceName, tapConfigurationName, opt * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -708,7 +722,7 @@ function _list(resourceGroupName, networkInterfaceName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -852,7 +866,7 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigur if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1216,6 +1230,20 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, tapConfigur * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -1347,7 +1375,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkInterfaceName, tapConfig if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2087,6 +2115,20 @@ class NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -2483,6 +2525,20 @@ class NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -3078,6 +3134,20 @@ class NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -3474,6 +3544,20 @@ class NetworkInterfaceTapConfigurations { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [tapConfigurationParameters.virtualNetworkTap.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. diff --git a/lib/services/networkManagement2/lib/operations/networkInterfaces.js b/lib/services/networkManagement2/lib/operations/networkInterfaces.js index e3283aa2b1..2c488bf1ce 100644 --- a/lib/services/networkManagement2/lib/operations/networkInterfaces.js +++ b/lib/services/networkManagement2/lib/operations/networkInterfaces.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, networkInterfaceName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -511,7 +511,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -645,7 +645,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1743,7 +1743,7 @@ function _beginDeleteMethod(resourceGroupName, networkInterfaceName, options, ca if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1958,7 +1958,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkInterfaceName, parameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2140,7 +2140,7 @@ function _beginUpdateTags(resourceGroupName, networkInterfaceName, parameters, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2301,7 +2301,7 @@ function _beginGetEffectiveRouteTable(resourceGroupName, networkInterfaceName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2445,7 +2445,7 @@ function _beginListEffectiveNetworkSecurityGroups(resourceGroupName, networkInte if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkProfiles.js b/lib/services/networkManagement2/lib/operations/networkProfiles.js index 59c60dcfd0..bcf5381384 100644 --- a/lib/services/networkManagement2/lib/operations/networkProfiles.js +++ b/lib/services/networkManagement2/lib/operations/networkProfiles.js @@ -48,7 +48,7 @@ function _deleteMethod(resourceGroupName, networkProfileName, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -177,7 +177,7 @@ function _get(resourceGroupName, networkProfileName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -344,7 +344,7 @@ function _createOrUpdate(resourceGroupName, networkProfileName, parameters, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -526,7 +526,7 @@ function _updateTags(resourceGroupName, networkProfileName, parameters, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -683,7 +683,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -817,7 +817,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js b/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js index a864f1bc10..732f111b7b 100644 --- a/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js +++ b/lib/services/networkManagement2/lib/operations/networkSecurityGroups.js @@ -117,7 +117,7 @@ function _get(resourceGroupName, networkSecurityGroupName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -451,7 +451,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -585,7 +585,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -724,7 +724,7 @@ function _beginDeleteMethod(resourceGroupName, networkSecurityGroupName, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -876,7 +876,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkSecurityGroupName, param if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1059,7 +1059,7 @@ function _beginUpdateTags(resourceGroupName, networkSecurityGroupName, parameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/networkWatchers.js b/lib/services/networkManagement2/lib/operations/networkWatchers.js index 56466a02ac..acb0914b74 100644 --- a/lib/services/networkManagement2/lib/operations/networkWatchers.js +++ b/lib/services/networkManagement2/lib/operations/networkWatchers.js @@ -61,7 +61,7 @@ function _createOrUpdate(resourceGroupName, networkWatcherName, parameters, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -239,7 +239,7 @@ function _get(resourceGroupName, networkWatcherName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -451,7 +451,7 @@ function _updateTags(resourceGroupName, networkWatcherName, parameters, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -611,7 +611,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -748,7 +748,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -898,7 +898,7 @@ function _getTopology(resourceGroupName, networkWatcherName, parameters, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2148,7 +2148,7 @@ function _beginDeleteMethod(resourceGroupName, networkWatcherName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2307,7 +2307,7 @@ function _beginVerifyIPFlow(resourceGroupName, networkWatcherName, parameters, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2499,7 +2499,7 @@ function _beginGetNextHop(resourceGroupName, networkWatcherName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2683,7 +2683,7 @@ function _beginGetVMSecurityRules(resourceGroupName, networkWatcherName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2873,7 +2873,7 @@ function _beginGetTroubleshooting(resourceGroupName, networkWatcherName, paramet if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3057,7 +3057,7 @@ function _beginGetTroubleshootingResult(resourceGroupName, networkWatcherName, p if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3290,7 +3290,7 @@ function _beginSetFlowLogConfiguration(resourceGroupName, networkWatcherName, pa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3476,7 +3476,7 @@ function _beginGetFlowLogStatus(resourceGroupName, networkWatcherName, parameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3697,7 +3697,7 @@ function _beginCheckConnectivity(resourceGroupName, networkWatcherName, paramete if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3901,7 +3901,7 @@ function _beginGetAzureReachabilityReport(resourceGroupName, networkWatcherName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -4094,7 +4094,7 @@ function _beginListAvailableProviders(resourceGroupName, networkWatcherName, par if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -4287,7 +4287,7 @@ function _beginGetNetworkConfigurationDiagnostic(resourceGroupName, networkWatch if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/operations.js b/lib/services/networkManagement2/lib/operations/operations.js index 47a5471c24..f284d26143 100644 --- a/lib/services/networkManagement2/lib/operations/operations.js +++ b/lib/services/networkManagement2/lib/operations/operations.js @@ -45,7 +45,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.acceptLanguage !== null && this.client.acceptLanguage !== undefined && typeof this.client.acceptLanguage.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/p2sVpnGateways.js b/lib/services/networkManagement2/lib/operations/p2sVpnGateways.js index 51e93a72ef..07906d8380 100644 --- a/lib/services/networkManagement2/lib/operations/p2sVpnGateways.js +++ b/lib/services/networkManagement2/lib/operations/p2sVpnGateways.js @@ -50,7 +50,7 @@ function _get(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -455,7 +455,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -592,7 +592,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -849,7 +849,7 @@ function _beginCreateOrUpdate(resourceGroupName, gatewayName, p2SVpnGatewayParam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1033,7 +1033,7 @@ function _beginUpdateTags(resourceGroupName, gatewayName, p2SVpnGatewayParameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1211,7 +1211,7 @@ function _beginDeleteMethod(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1346,7 +1346,7 @@ function _beginGenerateVpnProfile(resourceGroupName, gatewayName, parameters, op if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/p2sVpnServerConfigurations.js b/lib/services/networkManagement2/lib/operations/p2sVpnServerConfigurations.js index 256005dfc3..bf9997b946 100644 --- a/lib/services/networkManagement2/lib/operations/p2sVpnServerConfigurations.js +++ b/lib/services/networkManagement2/lib/operations/p2sVpnServerConfigurations.js @@ -54,7 +54,7 @@ function _get(resourceGroupName, virtualWanName, p2SVpnServerConfigurationName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -402,7 +402,7 @@ function _listByVirtualWan(resourceGroupName, virtualWanName, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -600,7 +600,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualWanName, p2SVpnServerCon if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -785,7 +785,7 @@ function _beginDeleteMethod(resourceGroupName, virtualWanName, p2SVpnServerConfi if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/packetCaptures.js b/lib/services/networkManagement2/lib/operations/packetCaptures.js index 7a12dfc8de..c4b78fc628 100644 --- a/lib/services/networkManagement2/lib/operations/packetCaptures.js +++ b/lib/services/networkManagement2/lib/operations/packetCaptures.js @@ -163,7 +163,7 @@ function _get(resourceGroupName, networkWatcherName, packetCaptureName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -524,7 +524,7 @@ function _list(resourceGroupName, networkWatcherName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -702,7 +702,7 @@ function _beginCreate(resourceGroupName, networkWatcherName, packetCaptureName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -868,7 +868,7 @@ function _beginDeleteMethod(resourceGroupName, networkWatcherName, packetCapture if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1000,7 +1000,7 @@ function _beginStop(resourceGroupName, networkWatcherName, packetCaptureName, op if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1135,7 +1135,7 @@ function _beginGetStatus(resourceGroupName, networkWatcherName, packetCaptureNam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/publicIPAddresses.js b/lib/services/networkManagement2/lib/operations/publicIPAddresses.js index f4474386fb..f54dbfaf3c 100644 --- a/lib/services/networkManagement2/lib/operations/publicIPAddresses.js +++ b/lib/services/networkManagement2/lib/operations/publicIPAddresses.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, publicIpAddressName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -272,6 +272,17 @@ function _get(resourceGroupName, publicIpAddressName, options, callback) { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -490,7 +501,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -624,7 +635,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1249,7 +1260,7 @@ function _beginDeleteMethod(resourceGroupName, publicIpAddressName, options, cal if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1382,6 +1393,17 @@ function _beginDeleteMethod(resourceGroupName, publicIpAddressName, options, cal * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -1443,7 +1465,7 @@ function _beginCreateOrUpdate(resourceGroupName, publicIpAddressName, parameters if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1625,7 +1647,7 @@ function _beginUpdateTags(resourceGroupName, publicIpAddressName, parameters, op if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2507,6 +2529,17 @@ class PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -2607,6 +2640,17 @@ class PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -3374,6 +3418,17 @@ class PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * @@ -3474,6 +3529,17 @@ class PublicIPAddresses { * record is created pointing from the IP address in the in-addr.arpa domain to * the reverse FQDN. * + * @param {object} [parameters.ddosSettings] The DDoS protection custom policy + * associated with the public IP address. + * + * @param {object} [parameters.ddosSettings.ddosCustomPolicy] The DDoS custom + * policy associated with the public IP. + * + * @param {string} [parameters.ddosSettings.protectionCoverage] The DDoS + * protection policy customizability of the public IP. Only standard coverage + * will have the ability to be customized. Possible values include: 'Basic', + * 'Standard' + * * @param {array} [parameters.ipTags] The list of tags associated with the * public IP address. * diff --git a/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js b/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js index e91ac2a11c..d90b347ff9 100644 --- a/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js +++ b/lib/services/networkManagement2/lib/operations/publicIPPrefixes.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, publicIpPrefixName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -464,7 +464,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -598,7 +598,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -736,7 +736,7 @@ function _beginDeleteMethod(resourceGroupName, publicIpPrefixName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -904,7 +904,7 @@ function _beginCreateOrUpdate(resourceGroupName, publicIpPrefixName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1086,7 +1086,7 @@ function _beginUpdateTags(resourceGroupName, publicIpPrefixName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routeFilterRules.js b/lib/services/networkManagement2/lib/operations/routeFilterRules.js index c4ad4d0f9f..8428caa1e8 100644 --- a/lib/services/networkManagement2/lib/operations/routeFilterRules.js +++ b/lib/services/networkManagement2/lib/operations/routeFilterRules.js @@ -116,7 +116,7 @@ function _get(resourceGroupName, routeFilterName, ruleName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -454,7 +454,7 @@ function _listByRouteFilter(resourceGroupName, routeFilterName, options, callbac if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -598,7 +598,7 @@ function _beginDeleteMethod(resourceGroupName, routeFilterName, ruleName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -752,7 +752,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeFilterName, ruleName, rout { routeFilterRuleParameters = {}; } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -951,7 +951,7 @@ function _beginUpdate(resourceGroupName, routeFilterName, ruleName, routeFilterR { routeFilterRuleParameters = {}; } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routeFilters.js b/lib/services/networkManagement2/lib/operations/routeFilters.js index 668f338414..a2d4043c52 100644 --- a/lib/services/networkManagement2/lib/operations/routeFilters.js +++ b/lib/services/networkManagement2/lib/operations/routeFilters.js @@ -116,7 +116,7 @@ function _get(resourceGroupName, routeFilterName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -447,7 +447,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -582,7 +582,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -716,7 +716,7 @@ function _beginDeleteMethod(resourceGroupName, routeFilterName, options, callbac if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -857,7 +857,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeFilterName, routeFilterPar if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1047,7 +1047,7 @@ function _beginUpdate(resourceGroupName, routeFilterName, routeFilterParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routeTables.js b/lib/services/networkManagement2/lib/operations/routeTables.js index 3820157eea..3084f24f83 100644 --- a/lib/services/networkManagement2/lib/operations/routeTables.js +++ b/lib/services/networkManagement2/lib/operations/routeTables.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, routeTableName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -444,7 +444,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -579,7 +579,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -713,7 +713,7 @@ function _beginDeleteMethod(resourceGroupName, routeTableName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -861,7 +861,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeTableName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1042,7 +1042,7 @@ function _beginUpdateTags(resourceGroupName, routeTableName, parameters, options if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/routes.js b/lib/services/networkManagement2/lib/operations/routes.js index 4ae9b61e22..c7a5408740 100644 --- a/lib/services/networkManagement2/lib/operations/routes.js +++ b/lib/services/networkManagement2/lib/operations/routes.js @@ -116,7 +116,7 @@ function _get(resourceGroupName, routeTableName, routeName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -371,7 +371,7 @@ function _list(resourceGroupName, routeTableName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -515,7 +515,7 @@ function _beginDeleteMethod(resourceGroupName, routeTableName, routeName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -675,7 +675,7 @@ function _beginCreateOrUpdate(resourceGroupName, routeTableName, routeName, rout if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/securityRules.js b/lib/services/networkManagement2/lib/operations/securityRules.js index de8ea23ef5..80cc77fbd3 100644 --- a/lib/services/networkManagement2/lib/operations/securityRules.js +++ b/lib/services/networkManagement2/lib/operations/securityRules.js @@ -118,7 +118,7 @@ function _get(resourceGroupName, networkSecurityGroupName, securityRuleName, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -422,7 +422,7 @@ function _list(resourceGroupName, networkSecurityGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -567,7 +567,7 @@ function _beginDeleteMethod(resourceGroupName, networkSecurityGroupName, securit if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -774,7 +774,7 @@ function _beginCreateOrUpdate(resourceGroupName, networkSecurityGroupName, secur if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js index 7f4bcb01d2..84e4fbcf06 100644 --- a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js +++ b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicies.js @@ -117,7 +117,7 @@ function _get(resourceGroupName, serviceEndpointPolicyName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -441,7 +441,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -575,7 +575,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -714,7 +714,7 @@ function _beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -856,7 +856,7 @@ function _beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, para if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1039,7 +1039,7 @@ function _beginUpdate(resourceGroupName, serviceEndpointPolicyName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js index 5753e68c43..513896be38 100644 --- a/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js +++ b/lib/services/networkManagement2/lib/operations/serviceEndpointPolicyDefinitions.js @@ -122,7 +122,7 @@ function _get(resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolic if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -376,7 +376,7 @@ function _listByResourceGroup(resourceGroupName, serviceEndpointPolicyName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -522,7 +522,7 @@ function _beginDeleteMethod(resourceGroupName, serviceEndpointPolicyName, servic if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -679,7 +679,7 @@ function _beginCreateOrUpdate(resourceGroupName, serviceEndpointPolicyName, serv if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/subnets.js b/lib/services/networkManagement2/lib/operations/subnets.js index c2434e3f62..3cf1de78e6 100644 --- a/lib/services/networkManagement2/lib/operations/subnets.js +++ b/lib/services/networkManagement2/lib/operations/subnets.js @@ -119,7 +119,7 @@ function _get(resourceGroupName, virtualNetworkName, subnetName, options, callba throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -437,7 +437,7 @@ function _list(resourceGroupName, virtualNetworkName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -581,7 +581,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, subnetName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -798,7 +798,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkName, subnetName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/usages.js b/lib/services/networkManagement2/lib/operations/usages.js index 01254efcdb..90e9791596 100644 --- a/lib/services/networkManagement2/lib/operations/usages.js +++ b/lib/services/networkManagement2/lib/operations/usages.js @@ -47,7 +47,7 @@ function _list(location, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (location === null || location === undefined || typeof location.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualHubs.js b/lib/services/networkManagement2/lib/operations/virtualHubs.js index 50b0b11327..c07f7b76cc 100644 --- a/lib/services/networkManagement2/lib/operations/virtualHubs.js +++ b/lib/services/networkManagement2/lib/operations/virtualHubs.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, virtualHubName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -454,7 +454,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -590,7 +590,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -765,7 +765,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualHubName, virtualHubParam if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -948,7 +948,7 @@ function _beginUpdateTags(resourceGroupName, virtualHubName, virtualHubParameter if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1125,7 +1125,7 @@ function _beginDeleteMethod(resourceGroupName, virtualHubName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js b/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js index 3013c37738..96769a18f3 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkGatewayConnections.js @@ -310,7 +310,7 @@ function _get(resourceGroupName, virtualNetworkGatewayConnectionName, options, c if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -696,7 +696,7 @@ function _getSharedKey(resourceGroupName, virtualNetworkGatewayConnectionName, o if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -839,7 +839,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1249,7 +1249,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkGatewayConnection if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1426,7 +1426,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkGatewayConnectionNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1559,7 +1559,7 @@ function _beginUpdateTags(resourceGroupName, virtualNetworkGatewayConnectionName if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1732,7 +1732,7 @@ function _beginSetSharedKey(resourceGroupName, virtualNetworkGatewayConnectionNa if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1921,7 +1921,7 @@ function _beginResetSharedKey(resourceGroupName, virtualNetworkGatewayConnection if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js b/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js index 0c2a155956..cf7946090a 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkGateways.js @@ -228,7 +228,7 @@ function _get(resourceGroupName, virtualNetworkGatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -518,7 +518,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -659,7 +659,7 @@ function _listConnections(resourceGroupName, virtualNetworkGatewayName, options, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1329,7 +1329,7 @@ function _supportedVpnDevices(resourceGroupName, virtualNetworkGatewayName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1852,7 +1852,7 @@ function _vpnDeviceConfigurationScript(resourceGroupName, virtualNetworkGatewayC if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2118,7 +2118,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkGatewayName, para if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2295,7 +2295,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkGatewayName, option if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2427,7 +2427,7 @@ function _beginUpdateTags(resourceGroupName, virtualNetworkGatewayName, paramete if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2593,7 +2593,7 @@ function _beginReset(resourceGroupName, virtualNetworkGatewayName, options, call throw new Error('callback cannot be null.'); } let gatewayVip = (options && options.gatewayVip !== undefined) ? options.gatewayVip : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2743,7 +2743,7 @@ function _beginResetVpnClientSharedKey(resourceGroupName, virtualNetworkGatewayN if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2890,7 +2890,7 @@ function _beginGeneratevpnclientpackage(resourceGroupName, virtualNetworkGateway if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3077,7 +3077,7 @@ function _beginGenerateVpnProfile(resourceGroupName, virtualNetworkGatewayName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3245,7 +3245,7 @@ function _beginGetVpnProfilePackageUrl(resourceGroupName, virtualNetworkGatewayN if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3400,7 +3400,7 @@ function _beginGetBgpPeerStatus(resourceGroupName, virtualNetworkGatewayName, op throw new Error('callback cannot be null.'); } let peer = (options && options.peer !== undefined) ? options.peer : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3552,7 +3552,7 @@ function _beginGetLearnedRoutes(resourceGroupName, virtualNetworkGatewayName, op if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3700,7 +3700,7 @@ function _beginGetAdvertisedRoutes(resourceGroupName, virtualNetworkGatewayName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -3887,7 +3887,7 @@ function _beginSetVpnclientIpsecParameters(resourceGroupName, virtualNetworkGate if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -4050,7 +4050,7 @@ function _beginGetVpnclientIpsecParameters(resourceGroupName, virtualNetworkGate if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js b/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js index 1cc1930e3c..fc37be4426 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkPeerings.js @@ -118,7 +118,7 @@ function _get(resourceGroupName, virtualNetworkName, virtualNetworkPeeringName, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -401,7 +401,7 @@ function _list(resourceGroupName, virtualNetworkName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -546,7 +546,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, virtualNetwor if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -733,7 +733,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkName, virtualNetw if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js b/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js index 83e0052323..0b024cfb30 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworkTaps.js @@ -112,7 +112,7 @@ function _get(resourceGroupName, tapName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -480,6 +480,20 @@ function _get(resourceGroupName, tapName, options, callback) { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -753,7 +767,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -887,7 +901,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1025,7 +1039,7 @@ function _beginDeleteMethod(resourceGroupName, tapName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1375,6 +1389,20 @@ function _beginDeleteMethod(resourceGroupName, tapName, options, callback) { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -1491,7 +1519,7 @@ function _beginCreateOrUpdate(resourceGroupName, tapName, parameters, options, c if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1673,7 +1701,7 @@ function _beginUpdateTags(resourceGroupName, tapName, tapParameters, options, ca if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -2505,6 +2533,20 @@ class VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -2877,6 +2919,20 @@ class VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -3614,6 +3670,20 @@ class VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. @@ -3986,6 +4056,20 @@ class VirtualNetworkTaps { * then a PTR DNS record is created pointing from the IP address in the * in-addr.arpa domain to the reverse FQDN. * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings] + * The DDoS protection custom policy associated with the public IP address. + * + * @param {object} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.ddosCustomPolicy] + * The DDoS custom policy associated with the public IP. + * + * @param {string} + * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ddosSettings.protectionCoverage] + * The DDoS protection policy customizability of the public IP. Only standard + * coverage will have the ability to be customized. Possible values include: + * 'Basic', 'Standard' + * * @param {array} * [parameters.destinationLoadBalancerFrontEndIPConfiguration.publicIPAddress.ipTags] * The list of tags associated with the public IP address. diff --git a/lib/services/networkManagement2/lib/operations/virtualNetworks.js b/lib/services/networkManagement2/lib/operations/virtualNetworks.js index 1920e40b27..36c0afa10b 100644 --- a/lib/services/networkManagement2/lib/operations/virtualNetworks.js +++ b/lib/services/networkManagement2/lib/operations/virtualNetworks.js @@ -115,7 +115,7 @@ function _get(resourceGroupName, virtualNetworkName, options, callback) { throw new Error('callback cannot be null.'); } let expand = (options && options.expand !== undefined) ? options.expand : undefined; - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -470,7 +470,7 @@ function _listAll(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -604,7 +604,7 @@ function _list(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -746,7 +746,7 @@ function _checkIPAddressAvailability(resourceGroupName, virtualNetworkName, ipAd if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -894,7 +894,7 @@ function _listUsage(resourceGroupName, virtualNetworkName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1036,7 +1036,7 @@ function _beginDeleteMethod(resourceGroupName, virtualNetworkName, options, call if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1210,7 +1210,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualNetworkName, parameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -1392,7 +1392,7 @@ function _beginUpdateTags(resourceGroupName, virtualNetworkName, parameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/virtualWans.js b/lib/services/networkManagement2/lib/operations/virtualWans.js index be3c50d7e1..f79e4b0d21 100644 --- a/lib/services/networkManagement2/lib/operations/virtualWans.js +++ b/lib/services/networkManagement2/lib/operations/virtualWans.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, virtualWANName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -448,7 +448,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -584,7 +584,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -754,7 +754,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualWANName, wANParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -936,7 +936,7 @@ function _beginUpdateTags(resourceGroupName, virtualWANName, wANParameters, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1113,7 +1113,7 @@ function _beginDeleteMethod(resourceGroupName, virtualWANName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnConnections.js b/lib/services/networkManagement2/lib/operations/vpnConnections.js index 8a32bac10a..5207558382 100644 --- a/lib/services/networkManagement2/lib/operations/vpnConnections.js +++ b/lib/services/networkManagement2/lib/operations/vpnConnections.js @@ -51,7 +51,7 @@ function _get(resourceGroupName, gatewayName, connectionName, options, callback) if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -391,7 +391,7 @@ function _listByVpnGateway(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -583,7 +583,7 @@ function _beginCreateOrUpdate(resourceGroupName, gatewayName, connectionName, vp if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -766,7 +766,7 @@ function _beginDeleteMethod(resourceGroupName, gatewayName, connectionName, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnGateways.js b/lib/services/networkManagement2/lib/operations/vpnGateways.js index 6a9ae378d8..f86d0589bb 100644 --- a/lib/services/networkManagement2/lib/operations/vpnGateways.js +++ b/lib/services/networkManagement2/lib/operations/vpnGateways.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -452,7 +452,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -588,7 +588,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -761,7 +761,7 @@ function _beginCreateOrUpdate(resourceGroupName, gatewayName, vpnGatewayParamete if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -944,7 +944,7 @@ function _beginUpdateTags(resourceGroupName, gatewayName, vpnGatewayParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1121,7 +1121,7 @@ function _beginDeleteMethod(resourceGroupName, gatewayName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnSites.js b/lib/services/networkManagement2/lib/operations/vpnSites.js index 4d8f48db2a..ee50e00f17 100644 --- a/lib/services/networkManagement2/lib/operations/vpnSites.js +++ b/lib/services/networkManagement2/lib/operations/vpnSites.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, vpnSiteName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -470,7 +470,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -606,7 +606,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -797,7 +797,7 @@ function _beginCreateOrUpdate(resourceGroupName, vpnSiteName, vpnSiteParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -980,7 +980,7 @@ function _beginUpdateTags(resourceGroupName, vpnSiteName, vpnSiteParameters, opt if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1157,7 +1157,7 @@ function _beginDeleteMethod(resourceGroupName, vpnSiteName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { diff --git a/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js b/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js index a992dff912..a419a0f4cb 100644 --- a/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js +++ b/lib/services/networkManagement2/lib/operations/vpnSitesConfiguration.js @@ -133,7 +133,7 @@ function _beginDownload(resourceGroupName, virtualWANName, request, options, cal if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-10-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { From 770378d328f7549abf26b09185b752b8a4537e47 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Wed, 9 Jan 2019 14:41:13 -0800 Subject: [PATCH 2/4] [AutoPR network/resource-manager] Fix errors with ddosCustomPolicy.json (#4525) * Generated from f786e806eeb7e1217a996e89ba30fb7f230a4b8b Add ddosCustomPolicy.json to readme.md and fix spec errors * Generated from dbd13ad4dd6a402b16ce899c7c6915e147405b65 Add ddosCustomPolicy.json to readme.md and fix spec errors --- .../lib/models/ddosCustomPolicy.js | 160 ++ .../networkManagement2/lib/models/index.d.ts | 57 + .../networkManagement2/lib/models/index.js | 2 + .../models/protocolCustomSettingsFormat.js | 85 + .../lib/networkManagementClient.d.ts | 1 + .../lib/networkManagementClient.js | 1 + .../lib/operations/ddosCustomPolicies.js | 1562 +++++++++++++++++ .../lib/operations/index.d.ts | 488 +++++ .../lib/operations/index.js | 1 + 9 files changed, 2357 insertions(+) create mode 100644 lib/services/networkManagement2/lib/models/ddosCustomPolicy.js create mode 100644 lib/services/networkManagement2/lib/models/protocolCustomSettingsFormat.js create mode 100644 lib/services/networkManagement2/lib/operations/ddosCustomPolicies.js diff --git a/lib/services/networkManagement2/lib/models/ddosCustomPolicy.js b/lib/services/networkManagement2/lib/models/ddosCustomPolicy.js new file mode 100644 index 0000000000..a8d95e7e77 --- /dev/null +++ b/lib/services/networkManagement2/lib/models/ddosCustomPolicy.js @@ -0,0 +1,160 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * A DDoS custom policy in a resource group. + * + * @extends models['Resource'] + */ +class DdosCustomPolicy extends models['Resource'] { + /** + * Create a DdosCustomPolicy. + * @property {string} [resourceGuid] The resource GUID property of the DDoS + * custom policy resource. It uniquely identifies the resource, even if the + * user changes its name or migrate the resource across subscriptions or + * resource groups. + * @property {string} [provisioningState] The provisioning state of the DDoS + * custom policy resource. Possible values are: 'Succeeded', 'Updating', + * 'Deleting', and 'Failed'. + * @property {array} [publicIPAddresses] The list of public IPs associated + * with the DDoS custom policy resource. This list is read-only. + * @property {array} [protocolCustomSettings] The protocol-specific DDoS + * policy customization parameters. + * @property {string} [etag] A unique read-only string that changes whenever + * the resource is updated. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of DdosCustomPolicy + * + * @returns {object} metadata of DdosCustomPolicy + * + */ + mapper() { + return { + required: false, + serializedName: 'DdosCustomPolicy', + type: { + name: 'Composite', + className: 'DdosCustomPolicy', + 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' + } + } + } + }, + resourceGuid: { + required: false, + readOnly: true, + serializedName: 'properties.resourceGuid', + type: { + name: 'String' + } + }, + provisioningState: { + required: false, + readOnly: true, + serializedName: 'properties.provisioningState', + type: { + name: 'String' + } + }, + publicIPAddresses: { + required: false, + readOnly: true, + serializedName: 'properties.publicIPAddresses', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'SubResourceElementType', + type: { + name: 'Composite', + className: 'SubResource' + } + } + } + }, + protocolCustomSettings: { + required: false, + serializedName: 'properties.protocolCustomSettings', + type: { + name: 'Sequence', + element: { + required: false, + serializedName: 'ProtocolCustomSettingsFormatElementType', + type: { + name: 'Composite', + className: 'ProtocolCustomSettingsFormat' + } + } + } + }, + etag: { + required: false, + readOnly: true, + serializedName: 'etag', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = DdosCustomPolicy; diff --git a/lib/services/networkManagement2/lib/models/index.d.ts b/lib/services/networkManagement2/lib/models/index.d.ts index 30b736b698..4b5a99b2cb 100644 --- a/lib/services/networkManagement2/lib/models/index.d.ts +++ b/lib/services/networkManagement2/lib/models/index.d.ts @@ -2699,6 +2699,63 @@ export interface DnsNameAvailabilityResult { available?: boolean; } +/** + * DDoS custom policy properties. +*/ +export interface ProtocolCustomSettingsFormat { + /** + * The protocol for which the DDoS protection policy is being customized. Possible values + * include: 'Tcp', 'Udp', 'Syn' + */ + protocol?: string; + /** + * The customized DDoS protection trigger rate. + */ + triggerRateOverride?: string; + /** + * The customized DDoS protection source rate. + */ + sourceRateOverride?: string; + /** + * The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with + * most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity + * w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. + * Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic. Possible values + * include: 'Relaxed', 'Low', 'Default', 'High' + */ + triggerSensitivityOverride?: string; +} + +/** + * A DDoS custom policy in a resource group. +*/ +export interface DdosCustomPolicy extends Resource { + /** + * The resource GUID property of the DDoS custom policy resource. It uniquely identifies the + * resource, even if the user changes its name or migrate the resource across subscriptions or + * resource groups. + */ + readonly resourceGuid?: string; + /** + * The provisioning state of the DDoS custom policy resource. Possible values are: 'Succeeded', + * 'Updating', 'Deleting', and 'Failed'. + */ + readonly provisioningState?: string; + /** + * The list of public IPs associated with the DDoS custom policy resource. This list is + * read-only. + */ + readonly publicIPAddresses?: SubResource[]; + /** + * The protocol-specific DDoS policy customization parameters. + */ + protocolCustomSettings?: ProtocolCustomSettingsFormat[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + readonly etag?: string; +} + /** * A DDoS protection plan in a resource group. */ diff --git a/lib/services/networkManagement2/lib/models/index.js b/lib/services/networkManagement2/lib/models/index.js index 14fb9da4e0..04cff88c29 100644 --- a/lib/services/networkManagement2/lib/models/index.js +++ b/lib/services/networkManagement2/lib/models/index.js @@ -110,6 +110,8 @@ exports.AzureFirewallNetworkRuleCollection = require('./azureFirewallNetworkRule exports.AzureFirewall = require('./azureFirewall'); exports.AzureFirewallFqdnTag = require('./azureFirewallFqdnTag'); exports.DnsNameAvailabilityResult = require('./dnsNameAvailabilityResult'); +exports.ProtocolCustomSettingsFormat = require('./protocolCustomSettingsFormat'); +exports.DdosCustomPolicy = require('./ddosCustomPolicy'); exports.DdosProtectionPlan = require('./ddosProtectionPlan'); exports.EndpointServiceResult = require('./endpointServiceResult'); exports.ExpressRouteCircuitAuthorization = require('./expressRouteCircuitAuthorization'); diff --git a/lib/services/networkManagement2/lib/models/protocolCustomSettingsFormat.js b/lib/services/networkManagement2/lib/models/protocolCustomSettingsFormat.js new file mode 100644 index 0000000000..3091e1c98a --- /dev/null +++ b/lib/services/networkManagement2/lib/models/protocolCustomSettingsFormat.js @@ -0,0 +1,85 @@ +/* + * 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'; + +/** + * DDoS custom policy properties. + * + */ +class ProtocolCustomSettingsFormat { + /** + * Create a ProtocolCustomSettingsFormat. + * @property {string} [protocol] The protocol for which the DDoS protection + * policy is being customized. Possible values include: 'Tcp', 'Udp', 'Syn' + * @property {string} [triggerRateOverride] The customized DDoS protection + * trigger rate. + * @property {string} [sourceRateOverride] The customized DDoS protection + * source rate. + * @property {string} [triggerSensitivityOverride] The customized DDoS + * protection trigger rate sensitivity degrees. High: Trigger rate set with + * most sensitivity w.r.t. normal traffic. Default: Trigger rate set with + * moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with + * less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with + * least sensitivity w.r.t. normal traffic. Possible values include: + * 'Relaxed', 'Low', 'Default', 'High' + */ + constructor() { + } + + /** + * Defines the metadata of ProtocolCustomSettingsFormat + * + * @returns {object} metadata of ProtocolCustomSettingsFormat + * + */ + mapper() { + return { + required: false, + serializedName: 'ProtocolCustomSettingsFormat', + type: { + name: 'Composite', + className: 'ProtocolCustomSettingsFormat', + modelProperties: { + protocol: { + required: false, + serializedName: 'protocol', + type: { + name: 'String' + } + }, + triggerRateOverride: { + required: false, + serializedName: 'triggerRateOverride', + type: { + name: 'String' + } + }, + sourceRateOverride: { + required: false, + serializedName: 'sourceRateOverride', + type: { + name: 'String' + } + }, + triggerSensitivityOverride: { + required: false, + serializedName: 'triggerSensitivityOverride', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = ProtocolCustomSettingsFormat; diff --git a/lib/services/networkManagement2/lib/networkManagementClient.d.ts b/lib/services/networkManagement2/lib/networkManagementClient.d.ts index 9753f42d8a..6a549fc30e 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.d.ts +++ b/lib/services/networkManagement2/lib/networkManagementClient.d.ts @@ -60,6 +60,7 @@ export default class NetworkManagementClient extends AzureServiceClient { availableResourceGroupDelegations: operations.AvailableResourceGroupDelegations; azureFirewalls: operations.AzureFirewalls; azureFirewallFqdnTags: operations.AzureFirewallFqdnTags; + ddosCustomPolicies: operations.DdosCustomPolicies; ddosProtectionPlans: operations.DdosProtectionPlans; availableEndpointServices: operations.AvailableEndpointServices; expressRouteCircuitAuthorizations: operations.ExpressRouteCircuitAuthorizations; diff --git a/lib/services/networkManagement2/lib/networkManagementClient.js b/lib/services/networkManagement2/lib/networkManagementClient.js index d29c61bf16..7804a305b4 100644 --- a/lib/services/networkManagement2/lib/networkManagementClient.js +++ b/lib/services/networkManagement2/lib/networkManagementClient.js @@ -370,6 +370,7 @@ class NetworkManagementClient extends ServiceClient { this.availableResourceGroupDelegations = new operations.AvailableResourceGroupDelegations(this); this.azureFirewalls = new operations.AzureFirewalls(this); this.azureFirewallFqdnTags = new operations.AzureFirewallFqdnTags(this); + this.ddosCustomPolicies = new operations.DdosCustomPolicies(this); this.ddosProtectionPlans = new operations.DdosProtectionPlans(this); this.availableEndpointServices = new operations.AvailableEndpointServices(this); this.expressRouteCircuitAuthorizations = new operations.ExpressRouteCircuitAuthorizations(this); diff --git a/lib/services/networkManagement2/lib/operations/ddosCustomPolicies.js b/lib/services/networkManagement2/lib/operations/ddosCustomPolicies.js new file mode 100644 index 0000000000..bda75d7026 --- /dev/null +++ b/lib/services/networkManagement2/lib/operations/ddosCustomPolicies.js @@ -0,0 +1,1562 @@ +/* + * 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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, options, (err, parsedResult, httpRequest, response) => { + if (err) return callback(err); + + let initialResult = new msRest.HttpOperationResponse(); + initialResult.request = httpRequest; + initialResult.response = response; + initialResult.body = response.body; + client.getLongRunningOperationResult(initialResult, options, (err, pollingResult) => { + if (err) return callback(err); + + // Create Result + let result = null; + + httpRequest = pollingResult.request; + response = pollingResult.response; + let responseBody = pollingResult.body; + if (responseBody === '') responseBody = null; + + // Deserialize Response + + return callback(null, result, httpRequest, response); + }); + }); +} + +/** + * Gets information about the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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. + * + * {object} [result] - The deserialized result object if an error did not occur. + * See {@link DdosCustomPolicy} 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, ddosCustomPolicyName, 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-11-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 (ddosCustomPolicyName === null || ddosCustomPolicyName === undefined || typeof ddosCustomPolicyName.valueOf() !== 'string') { + throw new Error('ddosCustomPolicyName 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/ddosCustomPolicies/{ddosCustomPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{ddosCustomPolicyName}', encodeURIComponent(ddosCustomPolicyName)); + 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['DdosCustomPolicy']().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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, 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['DdosCustomPolicy']().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); + }); + }); +} + + +/** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, 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['DdosCustomPolicy']().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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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, ddosCustomPolicyName, 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-11-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 (ddosCustomPolicyName === null || ddosCustomPolicyName === undefined || typeof ddosCustomPolicyName.valueOf() !== 'string') { + throw new Error('ddosCustomPolicyName 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/ddosCustomPolicies/{ddosCustomPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{ddosCustomPolicyName}', encodeURIComponent(ddosCustomPolicyName)); + 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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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-11-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 (ddosCustomPolicyName === null || ddosCustomPolicyName === undefined || typeof ddosCustomPolicyName.valueOf() !== 'string') { + throw new Error('ddosCustomPolicyName 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/ddosCustomPolicies/{ddosCustomPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{ddosCustomPolicyName}', encodeURIComponent(ddosCustomPolicyName)); + 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['DdosCustomPolicy']().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['DdosCustomPolicy']().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['DdosCustomPolicy']().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); + }); +} + +/** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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-11-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 (ddosCustomPolicyName === null || ddosCustomPolicyName === undefined || typeof ddosCustomPolicyName.valueOf() !== 'string') { + throw new Error('ddosCustomPolicyName 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/ddosCustomPolicies/{ddosCustomPolicyName}'; + requestUrl = requestUrl.replace('{resourceGroupName}', encodeURIComponent(resourceGroupName)); + requestUrl = requestUrl.replace('{ddosCustomPolicyName}', encodeURIComponent(ddosCustomPolicyName)); + 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['DdosCustomPolicy']().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 DdosCustomPolicies. */ +class DdosCustomPolicies { + /** + * Create a DdosCustomPolicies. + * @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._beginDeleteMethod = _beginDeleteMethod; + this._beginCreateOrUpdate = _beginCreateOrUpdate; + this._beginUpdateTags = _beginUpdateTags; + } + + /** + * Deletes the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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, ddosCustomPolicyName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._deleteMethod(resourceGroupName, ddosCustomPolicyName, 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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._deleteMethod(resourceGroupName, ddosCustomPolicyName, options, optionalCallback); + } + } + + /** + * Gets information about the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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. + */ + getWithHttpOperationResponse(resourceGroupName, ddosCustomPolicyName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._get(resourceGroupName, ddosCustomPolicyName, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Gets information about the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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 {DdosCustomPolicy} - 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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._get(resourceGroupName, ddosCustomPolicyName, options, optionalCallback); + } + } + + /** + * Creates or updates a DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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, ddosCustomPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._createOrUpdate(resourceGroupName, ddosCustomPolicyName, 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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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 {DdosCustomPolicy} - 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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._createOrUpdate(resourceGroupName, ddosCustomPolicyName, parameters, options, optionalCallback); + } + } + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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, ddosCustomPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._updateTags(resourceGroupName, ddosCustomPolicyName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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 {DdosCustomPolicy} - 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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._updateTags(resourceGroupName, ddosCustomPolicyName, parameters, options, optionalCallback); + } + } + + /** + * Deletes the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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, ddosCustomPolicyName, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginDeleteMethod(resourceGroupName, ddosCustomPolicyName, 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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginDeleteMethod(resourceGroupName, ddosCustomPolicyName, options, optionalCallback); + } + } + + /** + * Creates or updates a DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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, ddosCustomPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginCreateOrUpdate(resourceGroupName, ddosCustomPolicyName, 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 DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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 {DdosCustomPolicy} - 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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginCreateOrUpdate(resourceGroupName, ddosCustomPolicyName, parameters, options, optionalCallback); + } + } + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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, ddosCustomPolicyName, parameters, options) { + let client = this.client; + let self = this; + return new Promise((resolve, reject) => { + self._beginUpdateTags(resourceGroupName, ddosCustomPolicyName, parameters, options, (err, result, request, response) => { + let httpOperationResponse = new msRest.HttpOperationResponse(request, response); + httpOperationResponse.body = result; + if (err) { reject(err); } + else { resolve(httpOperationResponse); } + return; + }); + }); + } + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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 {DdosCustomPolicy} - 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 DdosCustomPolicy} 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, ddosCustomPolicyName, 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, ddosCustomPolicyName, parameters, options, (err, result, request, response) => { + if (err) { reject(err); } + else { resolve(result); } + return; + }); + }); + } else { + return self._beginUpdateTags(resourceGroupName, ddosCustomPolicyName, parameters, options, optionalCallback); + } + } + +} + +module.exports = DdosCustomPolicies; diff --git a/lib/services/networkManagement2/lib/operations/index.d.ts b/lib/services/networkManagement2/lib/operations/index.d.ts index 0198f8b074..8be5edf2ec 100644 --- a/lib/services/networkManagement2/lib/operations/index.d.ts +++ b/lib/services/networkManagement2/lib/operations/index.d.ts @@ -3862,6 +3862,494 @@ export interface AzureFirewallFqdnTags { listAllNext(nextPageLink: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; } +/** + * @class + * DdosCustomPolicies + * __NOTE__: An instance of this class is automatically created for an + * instance of the NetworkManagementClient. + */ +export interface DdosCustomPolicies { + + + /** + * Deletes the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + deleteMethodWithHttpOperationResponse(resourceGroupName: string, ddosCustomPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {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, ddosCustomPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + deleteMethod(resourceGroupName: string, ddosCustomPolicyName: string, callback: ServiceCallback): void; + deleteMethod(resourceGroupName: string, ddosCustomPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Gets information about the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + getWithHttpOperationResponse(resourceGroupName: string, ddosCustomPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Gets information about the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {DdosCustomPolicy} - 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. + * + * {DdosCustomPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link DdosCustomPolicy} for more information. + * + * {WebResource} [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, ddosCustomPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + get(resourceGroupName: string, ddosCustomPolicyName: string, callback: ServiceCallback): void; + get(resourceGroupName: string, ddosCustomPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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 {DdosCustomPolicy} - 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. + * + * {DdosCustomPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link DdosCustomPolicy} for more information. + * + * {WebResource} [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, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + createOrUpdate(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, callback: ServiceCallback): void; + createOrUpdate(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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, ddosCustomPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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 {DdosCustomPolicy} - 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. + * + * {DdosCustomPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link DdosCustomPolicy} for more information. + * + * {WebResource} [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, ddosCustomPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + updateTags(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + updateTags(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Deletes the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginDeleteMethodWithHttpOperationResponse(resourceGroupName: string, ddosCustomPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Deletes the specified DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @param {ServiceCallback} [optionalCallback] - The optional callback. + * + * @returns {ServiceCallback|Promise} If a callback was passed as the last + * parameter then it returns the callback else returns a Promise. + * + * {Promise} A promise is returned. + * + * @resolve {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, ddosCustomPolicyName: string, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginDeleteMethod(resourceGroupName: string, ddosCustomPolicyName: string, callback: ServiceCallback): void; + beginDeleteMethod(resourceGroupName: string, ddosCustomPolicyName: string, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Creates or updates a DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @param {string} [parameters.id] Resource ID. + * + * @param {string} [parameters.location] Resource location. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginCreateOrUpdateWithHttpOperationResponse(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Creates or updates a DDoS custom policy. + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the create or update + * operation. + * + * @param {array} [parameters.protocolCustomSettings] The protocol-specific + * DDoS policy customization parameters. + * + * @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 {DdosCustomPolicy} - 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. + * + * {DdosCustomPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link DdosCustomPolicy} for more information. + * + * {WebResource} [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, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginCreateOrUpdate(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, callback: ServiceCallback): void; + beginCreateOrUpdate(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.DdosCustomPolicy, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; + + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource tags. + * + * @param {object} [parameters.tags] Resource tags. + * + * @param {object} [options] Optional Parameters. + * + * @param {object} [options.customHeaders] Headers that will be added to the + * request + * + * @returns {Promise} A promise is returned + * + * @resolve {HttpOperationResponse} - The deserialized result object. + * + * @reject {Error|ServiceError} - The error object. + */ + beginUpdateTagsWithHttpOperationResponse(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise>; + + /** + * Update a DDoS custom policy tags + * + * @param {string} resourceGroupName The name of the resource group. + * + * @param {string} ddosCustomPolicyName The name of the DDoS custom policy. + * + * @param {object} parameters Parameters supplied to the update DDoS custom + * policy resource 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 {DdosCustomPolicy} - 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. + * + * {DdosCustomPolicy} [result] - The deserialized result object if an error did not occur. + * See {@link DdosCustomPolicy} for more information. + * + * {WebResource} [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, ddosCustomPolicyName: string, parameters: models.TagsObject, options?: { customHeaders? : { [headerName: string]: string; } }): Promise; + beginUpdateTags(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.TagsObject, callback: ServiceCallback): void; + beginUpdateTags(resourceGroupName: string, ddosCustomPolicyName: string, parameters: models.TagsObject, options: { customHeaders? : { [headerName: string]: string; } }, callback: ServiceCallback): void; +} + /** * @class * DdosProtectionPlans diff --git a/lib/services/networkManagement2/lib/operations/index.js b/lib/services/networkManagement2/lib/operations/index.js index 75d648518a..694db4c1c5 100644 --- a/lib/services/networkManagement2/lib/operations/index.js +++ b/lib/services/networkManagement2/lib/operations/index.js @@ -20,6 +20,7 @@ exports.AvailableDelegations = require('./availableDelegations'); exports.AvailableResourceGroupDelegations = require('./availableResourceGroupDelegations'); exports.AzureFirewalls = require('./azureFirewalls'); exports.AzureFirewallFqdnTags = require('./azureFirewallFqdnTags'); +exports.DdosCustomPolicies = require('./ddosCustomPolicies'); exports.DdosProtectionPlans = require('./ddosProtectionPlans'); exports.AvailableEndpointServices = require('./availableEndpointServices'); exports.ExpressRouteCircuitAuthorizations = require('./expressRouteCircuitAuthorizations'); From ad9b62745d350b63988b9021c264f27ba9e12322 Mon Sep 17 00:00:00 2001 From: Kamil Pajdzik Date: Wed, 16 Jan 2019 09:03:16 -0800 Subject: [PATCH 3/4] Regenerate azure-arm-network package --- .../lib/models/httpConfiguration.js | 6 +- .../lib/models/trafficQuery.js | 91 ------------------- lib/services/networkManagement2/package.json | 2 +- 3 files changed, 4 insertions(+), 95 deletions(-) delete mode 100644 lib/services/networkManagement2/lib/models/trafficQuery.js diff --git a/lib/services/networkManagement2/lib/models/httpConfiguration.js b/lib/services/networkManagement2/lib/models/httpConfiguration.js index 1cf98671ac..cca495db78 100644 --- a/lib/services/networkManagement2/lib/models/httpConfiguration.js +++ b/lib/services/networkManagement2/lib/models/httpConfiguration.js @@ -17,9 +17,9 @@ class HTTPConfiguration { /** * Create a HTTPConfiguration. - * @member {string} [method] HTTP method. Possible values include: 'Get' - * @member {array} [headers] List of HTTP headers. - * @member {array} [validStatusCodes] Valid status codes. + * @property {string} [method] HTTP method. Possible values include: 'Get' + * @property {array} [headers] List of HTTP headers. + * @property {array} [validStatusCodes] Valid status codes. */ constructor() { } diff --git a/lib/services/networkManagement2/lib/models/trafficQuery.js b/lib/services/networkManagement2/lib/models/trafficQuery.js deleted file mode 100644 index 29bbed73ae..0000000000 --- a/lib/services/networkManagement2/lib/models/trafficQuery.js +++ /dev/null @@ -1,91 +0,0 @@ -/* - * 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'; - -/** - * Parameters to compare with network configuration. - * - */ -class TrafficQuery { - /** - * Create a TrafficQuery. - * @member {string} direction The direction of the traffic. Accepted values - * are 'Inbound' and 'Outbound'. Possible values include: 'Inbound', - * 'Outbound' - * @member {string} protocol Protocol to be verified on. Accepted values are - * '*', TCP, UDP. - * @member {string} source Traffic source. Accepted values are '*', IP - * Address/CIDR, Service Tag. - * @member {string} destination Traffic destination. Accepted values are: - * '*', IP Address/CIDR, Service Tag. - * @member {string} destinationPort Traffice destination port. Accepted - * values are '*', port (for example, 3389) and port range (for example, - * 80-100). - */ - constructor() { - } - - /** - * Defines the metadata of TrafficQuery - * - * @returns {object} metadata of TrafficQuery - * - */ - mapper() { - return { - required: false, - serializedName: 'TrafficQuery', - type: { - name: 'Composite', - className: 'TrafficQuery', - modelProperties: { - direction: { - required: true, - serializedName: 'direction', - type: { - name: 'String' - } - }, - protocol: { - required: true, - serializedName: 'protocol', - type: { - name: 'String' - } - }, - source: { - required: true, - serializedName: 'source', - type: { - name: 'String' - } - }, - destination: { - required: true, - serializedName: 'destination', - type: { - name: 'String' - } - }, - destinationPort: { - required: true, - serializedName: 'destinationPort', - type: { - name: 'String' - } - } - } - } - }; - } -} - -module.exports = TrafficQuery; diff --git a/lib/services/networkManagement2/package.json b/lib/services/networkManagement2/package.json index 75c77514d0..5b487b2921 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": "11.0.0", + "version": "11.1.0", "dependencies": { "ms-rest": "^2.3.3", "ms-rest-azure": "^2.5.5" From 4393f01c34f4b4200b897460f2671022c6b237cf Mon Sep 17 00:00:00 2001 From: Kamil Pajdzik Date: Wed, 16 Jan 2019 09:56:40 -0800 Subject: [PATCH 4/4] Regenerate azure-arm-network --- .../networkManagement2/lib/models/index.d.ts | 109 +++++++++++++++++- .../lib/operations/virtualWans.js | 12 +- 2 files changed, 109 insertions(+), 12 deletions(-) diff --git a/lib/services/networkManagement2/lib/models/index.d.ts b/lib/services/networkManagement2/lib/models/index.d.ts index cf152e4af3..4b5a99b2cb 100644 --- a/lib/services/networkManagement2/lib/models/index.d.ts +++ b/lib/services/networkManagement2/lib/models/index.d.ts @@ -545,9 +545,21 @@ export interface PublicIPAddressDnsSettings { } /** - * @class - * Initializes a new instance of the IpTag class. - * @constructor + * Contains the DDoS protection settings of the public IP. + */ +export interface DdosSettings { + /** + * The DDoS custom policy associated with the public IP. + */ + ddosCustomPolicy?: SubResource; + /** + * The DDoS protection policy customizability of the public IP. Only standard coverage will have + * the ability to be customized. Possible values include: 'Basic', 'Standard' + */ + protectionCoverage?: string; +} + +/** * Contains the IpTag associated with the object */ export interface IpTag { @@ -2182,6 +2194,36 @@ export interface ApplicationGateway extends Resource { identity?: ManagedServiceIdentity; } +/** + * Response for ApplicationGatewayAvailableServerVariables API service call. +*/ +export interface ApplicationGatewayAvailableServerVariablesResult { + /** + * The list of supported server variables in application gateway. + */ + value?: string[]; +} + +/** + * Response for ApplicationGatewayAvailableRequestHeaders API service call. +*/ +export interface ApplicationGatewayAvailableRequestHeadersResult { + /** + * The list of supported request headers in application gateway. + */ + value?: string[]; +} + +/** + * Response for ApplicationGatewayAvailableResponeHeaders API service call. +*/ +export interface ApplicationGatewayAvailableResponseHeadersResult { + /** + * The list of supported response header in application gateway. + */ + value?: string[]; +} + /** * A web application firewall rule. */ @@ -2658,9 +2700,63 @@ export interface DnsNameAvailabilityResult { } /** - * @class - * Initializes a new instance of the DdosProtectionPlan class. - * @constructor + * DDoS custom policy properties. +*/ +export interface ProtocolCustomSettingsFormat { + /** + * The protocol for which the DDoS protection policy is being customized. Possible values + * include: 'Tcp', 'Udp', 'Syn' + */ + protocol?: string; + /** + * The customized DDoS protection trigger rate. + */ + triggerRateOverride?: string; + /** + * The customized DDoS protection source rate. + */ + sourceRateOverride?: string; + /** + * The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with + * most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity + * w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. + * Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic. Possible values + * include: 'Relaxed', 'Low', 'Default', 'High' + */ + triggerSensitivityOverride?: string; +} + +/** + * A DDoS custom policy in a resource group. +*/ +export interface DdosCustomPolicy extends Resource { + /** + * The resource GUID property of the DDoS custom policy resource. It uniquely identifies the + * resource, even if the user changes its name or migrate the resource across subscriptions or + * resource groups. + */ + readonly resourceGuid?: string; + /** + * The provisioning state of the DDoS custom policy resource. Possible values are: 'Succeeded', + * 'Updating', 'Deleting', and 'Failed'. + */ + readonly provisioningState?: string; + /** + * The list of public IPs associated with the DDoS custom policy resource. This list is + * read-only. + */ + readonly publicIPAddresses?: SubResource[]; + /** + * The protocol-specific DDoS policy customization parameters. + */ + protocolCustomSettings?: ProtocolCustomSettingsFormat[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + readonly etag?: string; +} + +/** * A DDoS protection plan in a resource group. */ export interface DdosProtectionPlan extends BaseResource { @@ -4032,6 +4128,7 @@ export interface LoadBalancer extends Resource { etag?: string; } +/** * The response body contains the status of the specified asynchronous operation, indicating * whether it has succeeded, is in progress, or has failed. Note that this status is distinct from * the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous diff --git a/lib/services/networkManagement2/lib/operations/virtualWans.js b/lib/services/networkManagement2/lib/operations/virtualWans.js index f0a7956eab..f79e4b0d21 100644 --- a/lib/services/networkManagement2/lib/operations/virtualWans.js +++ b/lib/services/networkManagement2/lib/operations/virtualWans.js @@ -49,7 +49,7 @@ function _get(resourceGroupName, virtualWANName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-08-01'; + let apiVersion = '2018-11-01'; // Validate try { if (resourceGroupName === null || resourceGroupName === undefined || typeof resourceGroupName.valueOf() !== 'string') { @@ -448,7 +448,7 @@ function _listByResourceGroup(resourceGroupName, options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-08-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -584,7 +584,7 @@ function _list(options, callback) { if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-08-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -754,7 +754,7 @@ function _beginCreateOrUpdate(resourceGroupName, virtualWANName, wANParameters, if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-08-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -936,7 +936,7 @@ function _beginUpdateTags(resourceGroupName, virtualWANName, wANParameters, opti if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-08-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') { @@ -1113,7 +1113,7 @@ function _beginDeleteMethod(resourceGroupName, virtualWANName, options, callback if (!callback) { throw new Error('callback cannot be null.'); } - let apiVersion = '2018-08-01'; + let apiVersion = '2018-11-01'; // Validate try { if (this.client.subscriptionId === null || this.client.subscriptionId === undefined || typeof this.client.subscriptionId.valueOf() !== 'string') {