diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 1c8ba9066259..4dd5210d047c 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -3951,7 +3951,7 @@ packages: dependencies: semver: 7.3.7 shelljs: 0.8.5 - typescript: 4.9.0-dev.20220915 + typescript: 4.9.0-dev.20220919 dev: false /ecdsa-sig-formatter/1.0.11: @@ -8883,8 +8883,8 @@ packages: hasBin: true dev: false - /typescript/4.9.0-dev.20220915: - resolution: {integrity: sha512-LF91yAKWayNiea7oza0gyHyPEVIkorxhbjWV6k/nDtseepQxGM8MZVjKGFleko0Ve4Fha8vQhnxRPkF8NftIHA==} + /typescript/4.9.0-dev.20220919: + resolution: {integrity: sha512-W+bcsHdefNwUVjTzmimk/I3GuYjC8ubm1RKBI097N6iEBwoc/vPMAoCArc24Zc2cbuFc01TKO75240wCXNYAkA==} engines: {node: '>=4.2.0'} hasBin: true dev: false @@ -13271,7 +13271,7 @@ packages: dev: false file:projects/arm-network.tgz: - resolution: {integrity: sha512-eZYlpqpVKcLHW+51jRluEMrmNwUcMgj5O50EEmWFVlZyFMsNAO/FRkI9UqJd6Ez+gB5sR0Su/mIbOn3OCxs0IQ==, tarball: file:projects/arm-network.tgz} + resolution: {integrity: sha512-OYruJktfIM9ck8IUD3gvmUQJF6fe45qIPVK/fHDppjX5tU3l2RzyTMGE88R3O3rgF0vq8IYLnEos7JRKc85ttw==, tarball: file:projects/arm-network.tgz} name: '@rush-temp/arm-network' version: 0.0.0 dependencies: @@ -13290,7 +13290,7 @@ packages: rollup: 2.79.0 rollup-plugin-sourcemaps: 0.6.3_rollup@2.79.0 tslib: 2.4.0 - typescript: 4.6.4 + typescript: 4.2.4 uglify-js: 3.17.0 transitivePeerDependencies: - '@types/node' diff --git a/sdk/network/arm-network/CHANGELOG.md b/sdk/network/arm-network/CHANGELOG.md index 469dbfab3457..4c5ad735800a 100644 --- a/sdk/network/arm-network/CHANGELOG.md +++ b/sdk/network/arm-network/CHANGELOG.md @@ -1,15 +1,152 @@ # Release History + +## 30.0.0 (2022-09-19) + +**Features** -## 29.0.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed + - Added operation group ApplicationGatewayWafDynamicManifests + - Added operation group ApplicationGatewayWafDynamicManifestsDefault + - Added operation group RouteMaps + - Added operation group VipSwap + - Added operation PublicIPAddresses.beginDdosProtectionStatus + - Added operation PublicIPAddresses.beginDdosProtectionStatusAndWait + - Added operation VirtualHubs.beginGetInboundRoutes + - Added operation VirtualHubs.beginGetInboundRoutesAndWait + - Added operation VirtualHubs.beginGetOutboundRoutes + - Added operation VirtualHubs.beginGetOutboundRoutesAndWait + - Added operation VirtualNetworks.beginListDdosProtectionStatusAndWait + - Added Interface Action + - Added Interface ApplicationGatewayFirewallManifestRuleSet + - Added Interface ApplicationGatewayWafDynamicManifestResult + - Added Interface ApplicationGatewayWafDynamicManifestResultList + - Added Interface ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams + - Added Interface ApplicationGatewayWafDynamicManifestsGetNextOptionalParams + - Added Interface ApplicationGatewayWafDynamicManifestsGetOptionalParams + - Added Interface Criterion + - Added Interface EffectiveRouteMapRoute + - Added Interface GetInboundRoutesParameters + - Added Interface GetOutboundRoutesParameters + - Added Interface ListRouteMapsResult + - Added Interface Parameter + - Added Interface PublicIPAddressesDdosProtectionStatusOptionalParams + - Added Interface PublicIpDdosProtectionStatusResult + - Added Interface RouteMap + - Added Interface RouteMapRule + - Added Interface RouteMapsCreateOrUpdateOptionalParams + - Added Interface RouteMapsDeleteOptionalParams + - Added Interface RouteMapsGetOptionalParams + - Added Interface RouteMapsListNextOptionalParams + - Added Interface RouteMapsListOptionalParams + - Added Interface StaticRoutesConfig + - Added Interface SwapResource + - Added Interface SwapResourceListResult + - Added Interface SwapResourceProperties + - Added Interface VipSwapCreateOptionalParams + - Added Interface VipSwapGetOptionalParams + - Added Interface VipSwapListOptionalParams + - Added Interface VirtualHubsGetInboundRoutesOptionalParams + - Added Interface VirtualHubsGetOutboundRoutesOptionalParams + - Added Interface VirtualNetworkDdosProtectionStatusResult + - Added Interface VirtualNetworkGatewayPolicyGroup + - Added Interface VirtualNetworkGatewayPolicyGroupMember + - Added Interface VirtualNetworksListDdosProtectionStatusNextOptionalParams + - Added Interface VirtualNetworksListDdosProtectionStatusOptionalParams + - Added Interface VngClientConnectionConfiguration + - Added Type Alias ActionType + - Added Type Alias ApplicationGatewayClientRevocationOptions + - Added Type Alias ApplicationGatewayRuleSetStatusOptions + - Added Type Alias ApplicationGatewayTierTypes + - Added Type Alias ApplicationGatewayWafDynamicManifestsDefaultGetResponse + - Added Type Alias ApplicationGatewayWafDynamicManifestsGetNextResponse + - Added Type Alias ApplicationGatewayWafDynamicManifestsGetResponse + - Added Type Alias ApplicationGatewayWafRuleActionTypes + - Added Type Alias ApplicationGatewayWafRuleStateTypes + - Added Type Alias CustomIpPrefixType + - Added Type Alias DdosSettingsProtectionMode + - Added Type Alias ExpressRoutePortsBillingType + - Added Type Alias Geo + - Added Type Alias IsWorkloadProtected + - Added Type Alias NextStep + - Added Type Alias PublicIPAddressesDdosProtectionStatusResponse + - Added Type Alias RouteMapActionType + - Added Type Alias RouteMapMatchCondition + - Added Type Alias RouteMapsCreateOrUpdateResponse + - Added Type Alias RouteMapsGetResponse + - Added Type Alias RouteMapsListNextResponse + - Added Type Alias RouteMapsListResponse + - Added Type Alias SlotType + - Added Type Alias VipSwapGetResponse + - Added Type Alias VipSwapListResponse + - Added Type Alias VirtualNetworksListDdosProtectionStatusNextResponse + - Added Type Alias VirtualNetworksListDdosProtectionStatusResponse + - Added Type Alias VnetLocalRouteOverrideCriteria + - Interface ApplicationGatewayClientAuthConfiguration has a new optional parameter verifyClientRevocation + - Interface ApplicationGatewayFirewallRule has a new optional parameter action + - Interface ApplicationGatewayFirewallRule has a new optional parameter ruleIdString + - Interface ApplicationGatewayFirewallRule has a new optional parameter state + - Interface ApplicationGatewayFirewallRuleSet has a new optional parameter tiers + - Interface CustomIpPrefix has a new optional parameter asn + - Interface CustomIpPrefix has a new optional parameter expressRouteAdvertise + - Interface CustomIpPrefix has a new optional parameter geo + - Interface CustomIpPrefix has a new optional parameter prefixType + - Interface DdosProtectionPlan has a new optional parameter publicIpAddresses + - Interface DdosSettings has a new optional parameter ddosProtectionPlan + - Interface DdosSettings has a new optional parameter protectionMode + - Interface ExpressRouteConnection has a new optional parameter enablePrivateLinkFastPath + - Interface ExpressRouteLink has a new optional parameter coloLocation + - Interface ExpressRoutePort has a new optional parameter billingType + - Interface ListActiveConnectivityConfigurationsOptionalParams has a new optional parameter top + - Interface ListActiveSecurityAdminRulesOptionalParams has a new optional parameter top + - Interface ListNetworkManagerEffectiveConnectivityConfigurationsOptionalParams has a new optional parameter top + - Interface ListNetworkManagerEffectiveSecurityAdminRulesOptionalParams has a new optional parameter top + - Interface ManagedRuleOverride has a new optional parameter action + - Interface NetworkInterface has a new optional parameter disableTcpStateTracking + - Interface NetworkManagerDeploymentStatusListOptionalParams has a new optional parameter top + - Interface Probe has a new optional parameter probeThreshold + - Interface RoutingConfiguration has a new optional parameter inboundRouteMap + - Interface RoutingConfiguration has a new optional parameter outboundRouteMap + - Interface VirtualHub has a new optional parameter routeMaps + - Interface VirtualNetworkGateway has a new optional parameter virtualNetworkGatewayPolicyGroups + - Interface VirtualNetworkGatewayConnection has a new optional parameter enablePrivateLinkFastPath + - Interface VirtualNetworkGatewayConnectionListEntity has a new optional parameter enablePrivateLinkFastPath + - Interface VnetRoute has a new optional parameter staticRoutesConfig + - Interface VpnClientConfiguration has a new optional parameter vngClientConnectionConfigurations + - Class NetworkManagementClient has a new parameter applicationGatewayWafDynamicManifests + - Class NetworkManagementClient has a new parameter applicationGatewayWafDynamicManifestsDefault + - Class NetworkManagementClient has a new parameter routeMaps + - Class NetworkManagementClient has a new parameter vipSwap + - Added Enum KnownActionType + - Added Enum KnownApplicationGatewayClientRevocationOptions + - Added Enum KnownApplicationGatewayRuleSetStatusOptions + - Added Enum KnownApplicationGatewayTierTypes + - Added Enum KnownApplicationGatewayWafRuleActionTypes + - Added Enum KnownApplicationGatewayWafRuleStateTypes + - Added Enum KnownCustomIpPrefixType + - Added Enum KnownDdosSettingsProtectionMode + - Added Enum KnownExpressRoutePortsBillingType + - Added Enum KnownGeo + - Added Enum KnownIsWorkloadProtected + - Added Enum KnownNextStep + - Added Enum KnownRouteMapActionType + - Added Enum KnownRouteMapMatchCondition + - Added Enum KnownVnetLocalRouteOverrideCriteria + - Enum KnownCommissionedState has a new value Deprovisioned + - Enum KnownManagedRuleEnabledState has a new value Enabled + - Enum KnownNetworkIntentPolicyBasedService has a new value AllowRulesOnly + - Enum KnownWebApplicationFirewallTransform has a new value Uppercase -### Other Changes +**Breaking Changes** + - Interface DdosCustomPolicy no longer has parameter protocolCustomSettings + - Interface DdosCustomPolicy no longer has parameter publicIPAddresses + - Interface DdosSettings no longer has parameter ddosCustomPolicy + - Interface DdosSettings no longer has parameter protectedIP + - Interface DdosSettings no longer has parameter protectionCoverage + - Removed Enum KnownDdosCustomPolicyProtocol + - Removed Enum KnownDdosCustomPolicyTriggerSensitivityOverride + - Removed Enum KnownDdosSettingsProtectionCoverage + + ## 29.0.0 (2022-08-02) **Features** diff --git a/sdk/network/arm-network/_meta.json b/sdk/network/arm-network/_meta.json index 085253a35345..f53be9f35394 100644 --- a/sdk/network/arm-network/_meta.json +++ b/sdk/network/arm-network/_meta.json @@ -1,8 +1,8 @@ { - "commit": "b5112cf604d9c89f250fb0810731a9a86e9d2230", + "commit": "48bb51ee0753ed56a88b3e7f989a70bf19ba96bb", "readme": "specification/network/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\network\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.1.20220721.1 --generate-sample=true", + "autorest_command": "autorest --version=3.8.4 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/network/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.4.0", - "use": "@autorest/typescript@6.0.0-rc.1.20220721.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.2", + "use": "@autorest/typescript@6.0.0-rc.1" } \ No newline at end of file diff --git a/sdk/network/arm-network/package.json b/sdk/network/arm-network/package.json index a6008f123546..9e0219f58b50 100644 --- a/sdk/network/arm-network/package.json +++ b/sdk/network/arm-network/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for NetworkManagementClient.", - "version": "29.0.1", + "version": "30.0.0", "engines": { "node": ">=12.0.0" }, @@ -36,7 +36,7 @@ "mkdirp": "^1.0.4", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", - "typescript": "~4.6.0", + "typescript": "~4.2.0", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", @@ -109,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-network?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/network/arm-network/review/arm-network.api.md b/sdk/network/arm-network/review/arm-network.api.md index 5903008a7e02..a69127914c51 100644 --- a/sdk/network/arm-network/review/arm-network.api.md +++ b/sdk/network/arm-network/review/arm-network.api.md @@ -20,6 +20,15 @@ export interface AadAuthenticationParameters { // @public export type Access = string; +// @public +export interface Action { + parameters?: Parameter[]; + type?: RouteMapActionType; +} + +// @public +export type ActionType = string; + // @public export interface ActiveBaseSecurityAdminRule { commitTime?: Date; @@ -412,8 +421,12 @@ export interface ApplicationGatewayBackendSettings extends SubResource { // @public export interface ApplicationGatewayClientAuthConfiguration { verifyClientCertIssuerDN?: boolean; + verifyClientRevocation?: ApplicationGatewayClientRevocationOptions; } +// @public +export type ApplicationGatewayClientRevocationOptions = string; + // @public export interface ApplicationGatewayConnectionDraining { drainTimeoutInSec: number; @@ -445,13 +458,25 @@ export interface ApplicationGatewayFirewallExclusion { selectorMatchOperator: string; } +// @public +export interface ApplicationGatewayFirewallManifestRuleSet { + ruleGroups: ApplicationGatewayFirewallRuleGroup[]; + ruleSetType: string; + ruleSetVersion: string; + status?: ApplicationGatewayRuleSetStatusOptions; + tiers?: ApplicationGatewayTierTypes[]; +} + // @public export type ApplicationGatewayFirewallMode = string; // @public export interface ApplicationGatewayFirewallRule { + action?: ApplicationGatewayWafRuleActionTypes; description?: string; ruleId: number; + ruleIdString?: string; + state?: ApplicationGatewayWafRuleStateTypes; } // @public @@ -467,6 +492,7 @@ export interface ApplicationGatewayFirewallRuleSet extends Resource { ruleGroups?: ApplicationGatewayFirewallRuleGroup[]; ruleSetType?: string; ruleSetVersion?: string; + tiers?: ApplicationGatewayTierTypes[]; } // @public @@ -830,6 +856,9 @@ export interface ApplicationGatewayRoutingRule extends SubResource { readonly type?: string; } +// @public +export type ApplicationGatewayRuleSetStatusOptions = string; + // @public export interface ApplicationGateways { beginBackendHealth(resourceGroupName: string, applicationGatewayName: string, options?: ApplicationGatewaysBackendHealthOptionalParams): Promise, ApplicationGatewaysBackendHealthResponse>>; @@ -1072,6 +1101,9 @@ export type ApplicationGatewaysUpdateTagsResponse = ApplicationGateway; // @public export type ApplicationGatewayTier = string; +// @public +export type ApplicationGatewayTierTypes = string; + // @public export interface ApplicationGatewayTrustedClientCertificate extends SubResource { readonly clientCertIssuerDN?: string; @@ -1114,6 +1146,59 @@ export interface ApplicationGatewayUrlPathMap extends SubResource { readonly type?: string; } +// @public +export interface ApplicationGatewayWafDynamicManifestResult { + availableRuleSets?: ApplicationGatewayFirewallManifestRuleSet[]; + id?: string; + readonly name?: string; + ruleSetType?: string; + ruleSetVersion?: string; + readonly type?: string; +} + +// @public +export interface ApplicationGatewayWafDynamicManifestResultList { + nextLink?: string; + value?: ApplicationGatewayWafDynamicManifestResult[]; +} + +// @public +export interface ApplicationGatewayWafDynamicManifests { + list(location: string, options?: ApplicationGatewayWafDynamicManifestsGetOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ApplicationGatewayWafDynamicManifestsDefault { + get(location: string, options?: ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams): Promise; +} + +// @public +export interface ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApplicationGatewayWafDynamicManifestsDefaultGetResponse = ApplicationGatewayWafDynamicManifestResult; + +// @public +export interface ApplicationGatewayWafDynamicManifestsGetNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApplicationGatewayWafDynamicManifestsGetNextResponse = ApplicationGatewayWafDynamicManifestResultList; + +// @public +export interface ApplicationGatewayWafDynamicManifestsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ApplicationGatewayWafDynamicManifestsGetResponse = ApplicationGatewayWafDynamicManifestResultList; + +// @public +export type ApplicationGatewayWafRuleActionTypes = string; + +// @public +export type ApplicationGatewayWafRuleStateTypes = string; + // @public export interface ApplicationGatewayWebApplicationFirewallConfiguration { disabledRuleGroups?: ApplicationGatewayFirewallDisabledRuleGroup[]; @@ -2655,6 +2740,14 @@ export type CoverageLevel = string; // @public export type CreatedByType = string; +// @public +export interface Criterion { + asPath?: string[]; + community?: string[]; + matchCondition?: RouteMapMatchCondition; + routePrefix?: string[]; +} + // @public export interface CrossTenantScopes { readonly managementGroups?: string[]; @@ -2670,15 +2763,19 @@ export interface CustomDnsConfigPropertiesFormat { // @public export interface CustomIpPrefix extends Resource { + asn?: string; authorizationMessage?: string; readonly childCustomIpPrefixes?: SubResource[]; cidr?: string; commissionedState?: CommissionedState; customIpPrefixParent?: SubResource; readonly etag?: string; + expressRouteAdvertise?: boolean; extendedLocation?: ExtendedLocation; readonly failedReason?: string; + geo?: Geo; noInternetAdvertise?: boolean; + prefixType?: CustomIpPrefixType; readonly provisioningState?: ProvisioningState; readonly publicIpPrefixes?: SubResource[]; readonly resourceGuid?: string; @@ -2762,6 +2859,9 @@ export interface CustomIpPrefixListResult { value?: CustomIpPrefix[]; } +// @public +export type CustomIpPrefixType = string; + // @public export interface DdosCustomPolicies { beginCreateOrUpdate(resourceGroupName: string, ddosCustomPolicyName: string, parameters: DdosCustomPolicy, options?: DdosCustomPoliciesCreateOrUpdateOptionalParams): Promise, DdosCustomPoliciesCreateOrUpdateResponse>>; @@ -2804,18 +2904,10 @@ export type DdosCustomPoliciesUpdateTagsResponse = DdosCustomPolicy; // @public export interface DdosCustomPolicy extends Resource { readonly etag?: string; - protocolCustomSettings?: ProtocolCustomSettingsFormat[]; readonly provisioningState?: ProvisioningState; - readonly publicIPAddresses?: SubResource[]; readonly resourceGuid?: string; } -// @public -export type DdosCustomPolicyProtocol = string; - -// @public -export type DdosCustomPolicyTriggerSensitivityOverride = string; - // @public export interface DdosProtectionPlan { readonly etag?: string; @@ -2823,6 +2915,7 @@ export interface DdosProtectionPlan { location?: string; readonly name?: string; readonly provisioningState?: ProvisioningState; + readonly publicIpAddresses?: SubResource[]; readonly resourceGuid?: string; tags?: { [propertyName: string]: string; @@ -2908,13 +3001,12 @@ export type DdosProtectionPlansUpdateTagsResponse = DdosProtectionPlan; // @public export interface DdosSettings { - ddosCustomPolicy?: SubResource; - protectedIP?: boolean; - protectionCoverage?: DdosSettingsProtectionCoverage; + ddosProtectionPlan?: SubResource; + protectionMode?: DdosSettingsProtectionMode; } // @public -export type DdosSettingsProtectionCoverage = string; +export type DdosSettingsProtectionMode = string; // @public export interface DefaultAdminRule extends BaseAdminRule { @@ -3222,6 +3314,13 @@ export interface EffectiveRouteListResult { value?: EffectiveRoute[]; } +// @public +export interface EffectiveRouteMapRoute { + asPath?: string; + bgpCommunities?: string; + prefix?: string[]; +} + // @public export type EffectiveRouteSource = string; @@ -3775,6 +3874,7 @@ export type ExpressRouteCircuitsUpdateTagsResponse = ExpressRouteCircuit; export interface ExpressRouteConnection extends SubResource { authorizationKey?: string; enableInternetSecurity?: boolean; + enablePrivateLinkFastPath?: boolean; expressRouteCircuitPeering?: ExpressRouteCircuitPeeringId; expressRouteGatewayBypass?: boolean; name: string; @@ -4120,6 +4220,7 @@ export type ExpressRouteGatewaysUpdateTagsResponse = ExpressRouteGateway; // @public export interface ExpressRouteLink extends SubResource { adminState?: ExpressRouteLinkAdminState; + readonly coloLocation?: string; readonly connectorType?: ExpressRouteLinkConnectorType; readonly etag?: string; readonly interfaceName?: string; @@ -4194,6 +4295,7 @@ export type ExpressRoutePeeringType = string; export interface ExpressRoutePort extends Resource { readonly allocationDate?: string; bandwidthInGbps?: number; + billingType?: ExpressRoutePortsBillingType; readonly circuits?: SubResource[]; encapsulation?: ExpressRoutePortsEncapsulation; readonly etag?: string; @@ -4292,6 +4394,9 @@ export interface ExpressRoutePorts { updateTags(resourceGroupName: string, expressRoutePortName: string, parameters: TagsObject, options?: ExpressRoutePortsUpdateTagsOptionalParams): Promise; } +// @public +export type ExpressRoutePortsBillingType = string; + // @public export interface ExpressRoutePortsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -5061,6 +5166,9 @@ export interface GeneratevirtualwanvpnserverconfigurationvpnprofileOptionalParam // @public export type GeneratevirtualwanvpnserverconfigurationvpnprofileResponse = VpnProfileResponse; +// @public +export type Geo = string; + // @public export interface GetActiveSessionsNextOptionalParams extends coreClient.OperationOptions { } @@ -5091,6 +5199,18 @@ export interface GetBastionShareableLinkOptionalParams extends coreClient.Operat // @public export type GetBastionShareableLinkResponse = BastionShareableLinkListResult; +// @public +export interface GetInboundRoutesParameters { + connectionType?: string; + resourceUri?: string; +} + +// @public +export interface GetOutboundRoutesParameters { + connectionType?: string; + resourceUri?: string; +} + // @public export interface GetVpnSitesConfigurationRequest { outputBlobSasUrl: string; @@ -5715,12 +5835,23 @@ export type IsGlobal = string; // @public export type IssueType = string; +// @public +export type IsWorkloadProtected = string; + // @public export enum KnownAccess { Allow = "Allow", Deny = "Deny" } +// @public +export enum KnownActionType { + Allow = "Allow", + AnomalyScoring = "AnomalyScoring", + Block = "Block", + Log = "Log" +} + // @public export enum KnownAddressPrefixType { IPPrefix = "IPPrefix", @@ -5742,6 +5873,12 @@ export enum KnownApplicationGatewayBackendHealthServerHealth { Up = "Up" } +// @public +export enum KnownApplicationGatewayClientRevocationOptions { + None = "None", + Ocsp = "OCSP" +} + // @public export enum KnownApplicationGatewayCookieBasedAffinity { Disabled = "Disabled", @@ -5797,6 +5934,14 @@ export enum KnownApplicationGatewayRequestRoutingRuleType { PathBasedRouting = "PathBasedRouting" } +// @public +export enum KnownApplicationGatewayRuleSetStatusOptions { + Deprecated = "Deprecated", + GA = "GA", + Preview = "Preview", + Supported = "Supported" +} + // @public export enum KnownApplicationGatewaySkuName { StandardLarge = "Standard_Large", @@ -5872,6 +6017,29 @@ export enum KnownApplicationGatewayTier { WAFV2 = "WAF_v2" } +// @public +export enum KnownApplicationGatewayTierTypes { + Standard = "Standard", + StandardV2 = "Standard_v2", + WAF = "WAF", + WAFV2 = "WAF_v2" +} + +// @public +export enum KnownApplicationGatewayWafRuleActionTypes { + Allow = "Allow", + AnomalyScoring = "AnomalyScoring", + Block = "Block", + Log = "Log", + None = "None" +} + +// @public +export enum KnownApplicationGatewayWafRuleStateTypes { + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownAssociationType { Associated = "Associated", @@ -5977,6 +6145,7 @@ export enum KnownCommissionedState { CommissionedNoInternetAdvertise = "CommissionedNoInternetAdvertise", Commissioning = "Commissioning", Decommissioning = "Decommissioning", + Deprovisioned = "Deprovisioned", Deprovisioning = "Deprovisioning", Provisioned = "Provisioned", Provisioning = "Provisioning" @@ -6058,24 +6227,17 @@ export enum KnownCreatedByType { } // @public -export enum KnownDdosCustomPolicyProtocol { - Syn = "Syn", - Tcp = "Tcp", - Udp = "Udp" -} - -// @public -export enum KnownDdosCustomPolicyTriggerSensitivityOverride { - Default = "Default", - High = "High", - Low = "Low", - Relaxed = "Relaxed" +export enum KnownCustomIpPrefixType { + Child = "Child", + Parent = "Parent", + Singular = "Singular" } // @public -export enum KnownDdosSettingsProtectionCoverage { - Basic = "Basic", - Standard = "Standard" +export enum KnownDdosSettingsProtectionMode { + Disabled = "Disabled", + Enabled = "Enabled", + VirtualNetworkInherited = "VirtualNetworkInherited" } // @public @@ -6241,6 +6403,12 @@ export enum KnownExpressRoutePortAuthorizationUseStatus { InUse = "InUse" } +// @public +export enum KnownExpressRoutePortsBillingType { + MeteredData = "MeteredData", + UnlimitedData = "UnlimitedData" +} + // @public export enum KnownExpressRoutePortsEncapsulation { Dot1Q = "Dot1Q", @@ -6337,6 +6505,19 @@ export enum KnownGatewayLoadBalancerTunnelProtocol { Vxlan = "VXLAN" } +// @public +export enum KnownGeo { + Afri = "AFRI", + Apac = "APAC", + AQ = "AQ", + Euro = "EURO", + Global = "GLOBAL", + Latam = "LATAM", + ME = "ME", + NAM = "NAM", + Oceania = "OCEANIA" +} + // @public export enum KnownGroupConnectivity { DirectlyConnected = "DirectlyConnected", @@ -6470,6 +6651,12 @@ export enum KnownIssueType { UserDefinedRoute = "UserDefinedRoute" } +// @public +export enum KnownIsWorkloadProtected { + False = "False", + True = "True" +} + // @public export enum KnownLoadBalancerBackendAddressAdminState { Down = "Down", @@ -6507,7 +6694,8 @@ export enum KnownLoadDistribution { // @public export enum KnownManagedRuleEnabledState { - Disabled = "Disabled" + Disabled = "Disabled", + Enabled = "Enabled" } // @public @@ -6518,6 +6706,7 @@ export enum KnownNatGatewaySkuName { // @public export enum KnownNetworkIntentPolicyBasedService { All = "All", + AllowRulesOnly = "AllowRulesOnly", None = "None" } @@ -6560,6 +6749,13 @@ export enum KnownNextHopType { VnetLocal = "VnetLocal" } +// @public +export enum KnownNextStep { + Continue = "Continue", + Terminate = "Terminate", + Unknown = "Unknown" +} + // @public export enum KnownOfficeTrafficCategory { All = "All", @@ -6732,6 +6928,24 @@ export enum KnownRouteFilterRuleType { Community = "Community" } +// @public +export enum KnownRouteMapActionType { + Add = "Add", + Drop = "Drop", + Remove = "Remove", + Replace = "Replace", + Unknown = "Unknown" +} + +// @public +export enum KnownRouteMapMatchCondition { + Contains = "Contains", + Equals = "Equals", + NotContains = "NotContains", + NotEquals = "NotEquals", + Unknown = "Unknown" +} + // @public export enum KnownRouteNextHopType { Internet = "Internet", @@ -6987,6 +7201,12 @@ export enum KnownVirtualWanSecurityProviderType { Native = "Native" } +// @public +export enum KnownVnetLocalRouteOverrideCriteria { + Contains = "Contains", + Equal = "Equal" +} + // @public export enum KnownVpnAuthenticationType { AAD = "AAD", @@ -7123,12 +7343,14 @@ export enum KnownWebApplicationFirewallTransform { Lowercase = "Lowercase", RemoveNulls = "RemoveNulls", Trim = "Trim", + Uppercase = "Uppercase", UrlDecode = "UrlDecode", UrlEncode = "UrlEncode" } // @public export interface ListActiveConnectivityConfigurationsOptionalParams extends coreClient.OperationOptions { + top?: number; } // @public @@ -7136,6 +7358,7 @@ export type ListActiveConnectivityConfigurationsResponse = ActiveConnectivityCon // @public export interface ListActiveSecurityAdminRulesOptionalParams extends coreClient.OperationOptions { + top?: number; } // @public @@ -7155,6 +7378,7 @@ export interface ListHubVirtualNetworkConnectionsResult { // @public export interface ListNetworkManagerEffectiveConnectivityConfigurationsOptionalParams extends coreClient.OperationOptions { + top?: number; } // @public @@ -7162,6 +7386,7 @@ export type ListNetworkManagerEffectiveConnectivityConfigurationsResponse = Netw // @public export interface ListNetworkManagerEffectiveSecurityAdminRulesOptionalParams extends coreClient.OperationOptions { + top?: number; } // @public @@ -7173,6 +7398,12 @@ export interface ListP2SVpnGatewaysResult { value?: P2SVpnGateway[]; } +// @public +export interface ListRouteMapsResult { + nextLink?: string; + value?: RouteMap[]; +} + // @public export interface ListRoutingIntentResult { nextLink?: string; @@ -7730,6 +7961,7 @@ export interface ManagedRuleGroupOverride { // @public export interface ManagedRuleOverride { + action?: ActionType; ruleId: string; state?: ManagedRuleEnabledState; } @@ -8119,6 +8351,7 @@ export interface NetworkIntentPolicyConfiguration { // @public export interface NetworkInterface extends Resource { auxiliaryMode?: NetworkInterfaceAuxiliaryMode; + disableTcpStateTracking?: boolean; dnsSettings?: NetworkInterfaceDnsSettings; readonly dscpConfiguration?: SubResource; enableAcceleratedNetworking?: boolean; @@ -8531,6 +8764,10 @@ export class NetworkManagementClient extends coreClient.ServiceClient { // (undocumented) applicationGateways: ApplicationGateways; // (undocumented) + applicationGatewayWafDynamicManifests: ApplicationGatewayWafDynamicManifests; + // (undocumented) + applicationGatewayWafDynamicManifestsDefault: ApplicationGatewayWafDynamicManifestsDefault; + // (undocumented) applicationSecurityGroups: ApplicationSecurityGroups; // (undocumented) availableDelegations: AvailableDelegations; @@ -8703,6 +8940,8 @@ export class NetworkManagementClient extends coreClient.ServiceClient { // (undocumented) routeFilters: RouteFilters; // (undocumented) + routeMaps: RouteMaps; + // (undocumented) routes: Routes; // (undocumented) routeTables: RouteTables; @@ -8738,6 +8977,8 @@ export class NetworkManagementClient extends coreClient.ServiceClient { // (undocumented) usages: Usages; // (undocumented) + vipSwap: VipSwap; + // (undocumented) virtualApplianceSites: VirtualApplianceSites; // (undocumented) virtualApplianceSkus: VirtualApplianceSkus; @@ -8863,6 +9104,7 @@ export interface NetworkManagerDeploymentStatus { // @public export interface NetworkManagerDeploymentStatusListOptionalParams extends coreClient.OperationOptions { + top?: number; } // @public @@ -9528,6 +9770,9 @@ export interface NextHopResult { // @public export type NextHopType = string; +// @public +export type NextStep = string; + // @public export interface O365BreakOutCategoryPolicies { allow?: boolean; @@ -9948,6 +10193,13 @@ export interface PacketCaptureStorageLocation { // @public export type PacketCaptureTargetType = "AzureVM" | "AzureVMSS"; +// @public +export interface Parameter { + asPath?: string[]; + community?: string[]; + routePrefix?: string[]; +} + // @public export interface PatchObject { tags?: { @@ -10481,6 +10733,7 @@ export interface Probe extends SubResource { name?: string; numberOfProbes?: number; port?: number; + probeThreshold?: number; protocol?: ProbeProtocol; readonly provisioningState?: ProvisioningState; requestPath?: string; @@ -10507,14 +10760,6 @@ export interface ProtocolConfiguration { httpConfiguration?: HttpConfiguration; } -// @public -export interface ProtocolCustomSettingsFormat { - protocol?: DdosCustomPolicyProtocol; - sourceRateOverride?: string; - triggerRateOverride?: string; - triggerSensitivityOverride?: DdosCustomPolicyTriggerSensitivityOverride; -} - // @public export type ProtocolType = string; @@ -10556,6 +10801,8 @@ export interface PublicIPAddressDnsSettings { export interface PublicIPAddresses { beginCreateOrUpdate(resourceGroupName: string, publicIpAddressName: string, parameters: PublicIPAddress, options?: PublicIPAddressesCreateOrUpdateOptionalParams): Promise, PublicIPAddressesCreateOrUpdateResponse>>; beginCreateOrUpdateAndWait(resourceGroupName: string, publicIpAddressName: string, parameters: PublicIPAddress, options?: PublicIPAddressesCreateOrUpdateOptionalParams): Promise; + beginDdosProtectionStatus(resourceGroupName: string, publicIpAddressName: string, options?: PublicIPAddressesDdosProtectionStatusOptionalParams): Promise, PublicIPAddressesDdosProtectionStatusResponse>>; + beginDdosProtectionStatusAndWait(resourceGroupName: string, publicIpAddressName: string, options?: PublicIPAddressesDdosProtectionStatusOptionalParams): Promise; beginDelete(resourceGroupName: string, publicIpAddressName: string, options?: PublicIPAddressesDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, publicIpAddressName: string, options?: PublicIPAddressesDeleteOptionalParams): Promise; get(resourceGroupName: string, publicIpAddressName: string, options?: PublicIPAddressesGetOptionalParams): Promise; @@ -10579,6 +10826,15 @@ export interface PublicIPAddressesCreateOrUpdateOptionalParams extends coreClien // @public export type PublicIPAddressesCreateOrUpdateResponse = PublicIPAddress; +// @public +export interface PublicIPAddressesDdosProtectionStatusOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type PublicIPAddressesDdosProtectionStatusResponse = PublicIpDdosProtectionStatusResult; + // @public export interface PublicIPAddressesDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -10721,6 +10977,14 @@ export type PublicIPAddressSkuName = string; // @public export type PublicIPAddressSkuTier = string; +// @public +export interface PublicIpDdosProtectionStatusResult { + ddosProtectionPlanId?: string; + isWorkloadProtected?: IsWorkloadProtected; + publicIpAddress?: string; + publicIpAddressId?: string; +} + // @public export interface PublicIPPrefix extends Resource { customIPPrefix?: SubResource; @@ -11131,6 +11395,77 @@ export interface RouteListResult { value?: Route[]; } +// @public +export interface RouteMap extends SubResource { + associatedInboundConnections?: string[]; + associatedOutboundConnections?: string[]; + readonly etag?: string; + readonly name?: string; + readonly provisioningState?: ProvisioningState; + rules?: RouteMapRule[]; + readonly type?: string; +} + +// @public +export type RouteMapActionType = string; + +// @public +export type RouteMapMatchCondition = string; + +// @public +export interface RouteMapRule { + actions?: Action[]; + matchCriteria?: Criterion[]; + name?: string; + nextStepIfMatched?: NextStep; +} + +// @public +export interface RouteMaps { + beginCreateOrUpdate(resourceGroupName: string, virtualHubName: string, routeMapName: string, routeMapParameters: RouteMap, options?: RouteMapsCreateOrUpdateOptionalParams): Promise, RouteMapsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, virtualHubName: string, routeMapName: string, routeMapParameters: RouteMap, options?: RouteMapsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, virtualHubName: string, routeMapName: string, options?: RouteMapsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, virtualHubName: string, routeMapName: string, options?: RouteMapsDeleteOptionalParams): Promise; + get(resourceGroupName: string, virtualHubName: string, routeMapName: string, options?: RouteMapsGetOptionalParams): Promise; + list(resourceGroupName: string, virtualHubName: string, options?: RouteMapsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface RouteMapsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type RouteMapsCreateOrUpdateResponse = RouteMap; + +// @public +export interface RouteMapsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface RouteMapsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RouteMapsGetResponse = RouteMap; + +// @public +export interface RouteMapsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RouteMapsListNextResponse = ListRouteMapsResult; + +// @public +export interface RouteMapsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type RouteMapsListResponse = ListRouteMapsResult; + // @public export type RouteNextHopType = string; @@ -11269,6 +11604,8 @@ export type RouteTablesUpdateTagsResponse = RouteTable; // @public export interface RoutingConfiguration { associatedRouteTable?: SubResource; + inboundRouteMap?: SubResource; + outboundRouteMap?: SubResource; propagatedRouteTables?: PropagatedRouteTable; vnetRoutes?: VnetRoute; } @@ -11992,6 +12329,9 @@ export interface Sku { name?: BastionHostSkuName; } +// @public +export type SlotType = "Production" | "Staging"; + // @public export interface StaticMember extends ChildResource { readonly provisioningState?: ProvisioningState; @@ -12057,6 +12397,12 @@ export interface StaticRoute { nextHopIpAddress?: string; } +// @public +export interface StaticRoutesConfig { + readonly propagateStaticRoutes?: boolean; + vnetLocalRouteOverrideCriteria?: VnetLocalRouteOverrideCriteria; +} + // @public export interface Subnet extends SubResource { addressPrefix?: string; @@ -12214,6 +12560,25 @@ export interface SupportedSecurityProvidersOptionalParams extends coreClient.Ope // @public export type SupportedSecurityProvidersResponse = VirtualWanSecurityProviders; +// @public +export interface SwapResource { + readonly id?: string; + readonly name?: string; + properties?: SwapResourceProperties; + readonly type?: string; +} + +// @public +export interface SwapResourceListResult { + // (undocumented) + value?: SwapResource[]; +} + +// @public +export interface SwapResourceProperties { + slotType?: SlotType; +} + // @public export type SyncRemoteAddressSpace = string; @@ -12403,6 +12768,34 @@ export interface VerificationIPFlowResult { ruleName?: string; } +// @public +export interface VipSwap { + beginCreate(groupName: string, resourceName: string, parameters: SwapResource, options?: VipSwapCreateOptionalParams): Promise, void>>; + beginCreateAndWait(groupName: string, resourceName: string, parameters: SwapResource, options?: VipSwapCreateOptionalParams): Promise; + get(groupName: string, resourceName: string, options?: VipSwapGetOptionalParams): Promise; + list(groupName: string, resourceName: string, options?: VipSwapListOptionalParams): Promise; +} + +// @public +export interface VipSwapCreateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VipSwapGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VipSwapGetResponse = SwapResource; + +// @public +export interface VipSwapListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type VipSwapListResponse = SwapResourceListResult; + // @public export interface VirtualApplianceNicProperties { readonly name?: string; @@ -12514,6 +12907,7 @@ export interface VirtualHub extends Resource { p2SVpnGateway?: SubResource; preferredRoutingGateway?: PreferredRoutingGateway; readonly provisioningState?: ProvisioningState; + readonly routeMaps?: SubResource[]; routeTable?: VirtualHubRouteTable; readonly routingState?: RoutingState; securityPartnerProvider?: SubResource; @@ -12746,6 +13140,10 @@ export interface VirtualHubs { beginDeleteAndWait(resourceGroupName: string, virtualHubName: string, options?: VirtualHubsDeleteOptionalParams): Promise; beginGetEffectiveVirtualHubRoutes(resourceGroupName: string, virtualHubName: string, options?: VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams): Promise, void>>; beginGetEffectiveVirtualHubRoutesAndWait(resourceGroupName: string, virtualHubName: string, options?: VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams): Promise; + beginGetInboundRoutes(resourceGroupName: string, virtualHubName: string, getInboundRoutesParameters: GetInboundRoutesParameters, options?: VirtualHubsGetInboundRoutesOptionalParams): Promise, void>>; + beginGetInboundRoutesAndWait(resourceGroupName: string, virtualHubName: string, getInboundRoutesParameters: GetInboundRoutesParameters, options?: VirtualHubsGetInboundRoutesOptionalParams): Promise; + beginGetOutboundRoutes(resourceGroupName: string, virtualHubName: string, getOutboundRoutesParameters: GetOutboundRoutesParameters, options?: VirtualHubsGetOutboundRoutesOptionalParams): Promise, void>>; + beginGetOutboundRoutesAndWait(resourceGroupName: string, virtualHubName: string, getOutboundRoutesParameters: GetOutboundRoutesParameters, options?: VirtualHubsGetOutboundRoutesOptionalParams): Promise; get(resourceGroupName: string, virtualHubName: string, options?: VirtualHubsGetOptionalParams): Promise; list(options?: VirtualHubsListOptionalParams): PagedAsyncIterableIterator; listByResourceGroup(resourceGroupName: string, options?: VirtualHubsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; @@ -12774,10 +13172,22 @@ export interface VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams extends c updateIntervalInMs?: number; } +// @public +export interface VirtualHubsGetInboundRoutesOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + // @public export interface VirtualHubsGetOptionalParams extends coreClient.OperationOptions { } +// @public +export interface VirtualHubsGetOutboundRoutesOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + // @public export type VirtualHubsGetResponse = VirtualHub; @@ -12846,6 +13256,12 @@ export interface VirtualNetworkConnectionGatewayReference { id: string; } +// @public +export interface VirtualNetworkDdosProtectionStatusResult { + nextLink?: string; + value?: PublicIpDdosProtectionStatusResult[]; +} + // @public export interface VirtualNetworkEncryption { enabled: boolean; @@ -12875,6 +13291,7 @@ export interface VirtualNetworkGateway extends Resource { readonly provisioningState?: ProvisioningState; readonly resourceGuid?: string; sku?: VirtualNetworkGatewaySku; + virtualNetworkGatewayPolicyGroups?: VirtualNetworkGatewayPolicyGroup[]; vNetExtendedLocationResourceId?: string; vpnClientConfiguration?: VpnClientConfiguration; vpnGatewayGeneration?: VpnGatewayGeneration; @@ -12892,6 +13309,7 @@ export interface VirtualNetworkGatewayConnection extends Resource { readonly egressBytesTransferred?: number; egressNatRules?: SubResource[]; enableBgp?: boolean; + enablePrivateLinkFastPath?: boolean; readonly etag?: string; expressRouteGatewayBypass?: boolean; gatewayCustomBgpIpAddresses?: GatewayCustomBgpIpAddressIpConfiguration[]; @@ -12921,6 +13339,7 @@ export interface VirtualNetworkGatewayConnectionListEntity extends Resource { connectionType: VirtualNetworkGatewayConnectionType; readonly egressBytesTransferred?: number; enableBgp?: boolean; + enablePrivateLinkFastPath?: boolean; readonly etag?: string; expressRouteGatewayBypass?: boolean; gatewayCustomBgpIpAddresses?: GatewayCustomBgpIpAddressIpConfiguration[]; @@ -13174,6 +13593,24 @@ export interface VirtualNetworkGatewayNatRulesListByVirtualNetworkGatewayOptiona // @public export type VirtualNetworkGatewayNatRulesListByVirtualNetworkGatewayResponse = ListVirtualNetworkGatewayNatRulesResult; +// @public +export interface VirtualNetworkGatewayPolicyGroup extends SubResource { + readonly etag?: string; + isDefault?: boolean; + name?: string; + policyMembers?: VirtualNetworkGatewayPolicyGroupMember[]; + priority?: number; + readonly provisioningState?: ProvisioningState; + readonly vngClientConnectionConfigurations?: SubResource[]; +} + +// @public +export interface VirtualNetworkGatewayPolicyGroupMember { + attributeType?: VpnPolicyMemberAttributeType; + attributeValue?: string; + name?: string; +} + // @public export interface VirtualNetworkGateways { beginCreateOrUpdate(resourceGroupName: string, virtualNetworkGatewayName: string, parameters: VirtualNetworkGateway, options?: VirtualNetworkGatewaysCreateOrUpdateOptionalParams): Promise, VirtualNetworkGatewaysCreateOrUpdateResponse>>; @@ -13547,6 +13984,7 @@ export interface VirtualNetworks { beginCreateOrUpdateAndWait(resourceGroupName: string, virtualNetworkName: string, parameters: VirtualNetwork, options?: VirtualNetworksCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, virtualNetworkName: string, options?: VirtualNetworksDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, virtualNetworkName: string, options?: VirtualNetworksDeleteOptionalParams): Promise; + beginListDdosProtectionStatusAndWait(resourceGroupName: string, virtualNetworkName: string, options?: VirtualNetworksListDdosProtectionStatusOptionalParams): PagedAsyncIterableIterator; checkIPAddressAvailability(resourceGroupName: string, virtualNetworkName: string, ipAddress: string, options?: VirtualNetworksCheckIPAddressAvailabilityOptionalParams): Promise; get(resourceGroupName: string, virtualNetworkName: string, options?: VirtualNetworksGetOptionalParams): Promise; list(resourceGroupName: string, options?: VirtualNetworksListOptionalParams): PagedAsyncIterableIterator; @@ -13599,6 +14037,26 @@ export interface VirtualNetworksListAllOptionalParams extends coreClient.Operati // @public export type VirtualNetworksListAllResponse = VirtualNetworkListResult; +// @public +export interface VirtualNetworksListDdosProtectionStatusNextOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; +} + +// @public +export type VirtualNetworksListDdosProtectionStatusNextResponse = VirtualNetworkDdosProtectionStatusResult; + +// @public +export interface VirtualNetworksListDdosProtectionStatusOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + skipToken?: string; + top?: number; + updateIntervalInMs?: number; +} + +// @public +export type VirtualNetworksListDdosProtectionStatusResponse = VirtualNetworkDdosProtectionStatusResult; + // @public export interface VirtualNetworksListNextOptionalParams extends coreClient.OperationOptions { } @@ -13988,10 +14446,23 @@ export interface VirtualWanVpnProfileParameters { export interface Vm extends Resource { } +// @public +export type VnetLocalRouteOverrideCriteria = string; + // @public export interface VnetRoute { readonly bgpConnections?: SubResource[]; staticRoutes?: StaticRoute[]; + staticRoutesConfig?: StaticRoutesConfig; +} + +// @public +export interface VngClientConnectionConfiguration extends SubResource { + readonly etag?: string; + name?: string; + readonly provisioningState?: ProvisioningState; + virtualNetworkGatewayPolicyGroups?: SubResource[]; + vpnClientAddressPool?: AddressSpace; } // @public @@ -14005,6 +14476,7 @@ export interface VpnClientConfiguration { radiusServerAddress?: string; radiusServers?: RadiusServer[]; radiusServerSecret?: string; + vngClientConnectionConfigurations?: VngClientConnectionConfiguration[]; vpnAuthenticationTypes?: VpnAuthenticationType[]; vpnClientAddressPool?: AddressSpace; vpnClientIpsecPolicies?: IpsecPolicy[]; diff --git a/sdk/network/arm-network/src/models/index.ts b/sdk/network/arm-network/src/models/index.ts index 9a4391cc02d8..ae19740755bb 100644 --- a/sdk/network/arm-network/src/models/index.ts +++ b/sdk/network/arm-network/src/models/index.ts @@ -249,12 +249,10 @@ export interface PublicIPAddressDnsSettings { /** 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. */ - protectionCoverage?: DdosSettingsProtectionCoverage; - /** Enables DDoS protection on the public IP. */ - protectedIP?: boolean; + /** The DDoS protection mode of the public IP */ + protectionMode?: DdosSettingsProtectionMode; + /** The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled */ + ddosProtectionPlan?: SubResource; } /** Contains the IpTag associated with the object. */ @@ -366,6 +364,8 @@ export interface ApplicationGatewayCustomError { export interface ApplicationGatewayClientAuthConfiguration { /** Verify client certificate issuer name on the application gateway. */ verifyClientCertIssuerDN?: boolean; + /** Verify client certificate revocation status. */ + verifyClientRevocation?: ApplicationGatewayClientRevocationOptions; } /** Rewrite rule of an application gateway. */ @@ -647,6 +647,12 @@ export interface ApplicationGatewayFirewallRuleGroup { export interface ApplicationGatewayFirewallRule { /** The identifier of the web application firewall rule. */ ruleId: number; + /** The string representation of the web application firewall rule identifier. */ + ruleIdString?: string; + /** The string representation of the web application firewall rule state. */ + state?: ApplicationGatewayWafRuleStateTypes; + /** The string representation of the web application firewall rule action. */ + action?: ApplicationGatewayWafRuleActionTypes; /** The description of the web application firewall rule. */ description?: string; } @@ -659,6 +665,50 @@ export interface ApplicationGatewayAvailableSslPredefinedPolicies { nextLink?: string; } +/** Response for ApplicationGatewayWafDynamicManifest API service call. */ +export interface ApplicationGatewayWafDynamicManifestResult { + /** Resource ID. */ + id?: string; + /** + * Resource name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * Resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** The available rulesets. */ + availableRuleSets?: ApplicationGatewayFirewallManifestRuleSet[]; + /** The type of the web application firewall rule set. */ + ruleSetType?: string; + /** The version of the web application firewall rule set type. */ + ruleSetVersion?: string; +} + +/** Properties of the web application firewall rule set. */ +export interface ApplicationGatewayFirewallManifestRuleSet { + /** 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 set status */ + status?: ApplicationGatewayRuleSetStatusOptions; + /** Tier of an application gateway that support the rule set. */ + tiers?: ApplicationGatewayTierTypes[]; + /** The rule groups of the web application firewall rule set. */ + ruleGroups: ApplicationGatewayFirewallRuleGroup[]; +} + +/** Response for ApplicationGatewayWafDynamicManifests API service call. */ +export interface ApplicationGatewayWafDynamicManifestResultList { + /** The list of application gateway waf manifest. */ + value?: ApplicationGatewayWafDynamicManifestResult[]; + /** URL to get the next set of results. */ + nextLink?: string; +} + /** A list of application security groups. */ export interface ApplicationSecurityGroupListResult { /** A list of application security groups. */ @@ -1084,18 +1134,6 @@ export interface CustomIpPrefixListResult { nextLink?: string; } -/** DDoS custom policy properties. */ -export interface ProtocolCustomSettingsFormat { - /** The protocol for which the DDoS protection policy is being customized. */ - protocol?: DdosCustomPolicyProtocol; - /** 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. */ - triggerSensitivityOverride?: DdosCustomPolicyTriggerSensitivityOverride; -} - /** A DDoS protection plan in a resource group. */ export interface DdosProtectionPlan { /** @@ -1132,6 +1170,11 @@ export interface DdosProtectionPlan { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; + /** + * The list of public IPs associated with the DDoS protection plan resource. This list is read-only. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly publicIpAddresses?: SubResource[]; /** * The list of virtual networks associated with the DDoS protection plan resource. This list is read-only. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1527,6 +1570,17 @@ export interface ExpressRoutePortAuthorizationListResult { nextLink?: string; } +/** Response for ListExpressRouteProviderPort API service call. */ +export interface ExpressRouteProviderPortListResult { + /** A list of ExpressRouteProviderPort resources. */ + value?: ExpressRouteProviderPort[]; + /** + * The URL to get the next set of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + /** ThreatIntel Whitelist for Firewall Policy. */ export interface FirewallPolicyThreatIntelWhitelist { /** List of IP addresses for the ThreatIntel Whitelist. */ @@ -3899,6 +3953,18 @@ export interface AutoApprovedPrivateLinkService { privateLinkService?: string; } +/** Response for GetPublicIpAddressDdosProtectionStatusOperation API service call. */ +export interface PublicIpDdosProtectionStatusResult { + /** Public IP ARM resource ID */ + publicIpAddressId?: string; + /** IP Address of the Public IP Resource */ + publicIpAddress?: string; + /** Value indicating whether the IP address is DDoS workload protected or not. */ + isWorkloadProtected?: IsWorkloadProtected; + /** DDoS protection plan Resource Id of a if IP address is protected through a plan. */ + ddosProtectionPlanId?: string; +} + /** SKU of a public IP prefix. */ export interface PublicIPPrefixSku { /** Name of a public IP prefix SKU. */ @@ -4303,6 +4369,14 @@ export interface VirtualNetworkUsageName { readonly value?: string; } +/** Response for GetVirtualNetworkDdosProtectionStatusOperation. */ +export interface VirtualNetworkDdosProtectionStatusResult { + /** The Ddos Protection Status Result for each public ip under a virtual network. */ + value?: PublicIpDdosProtectionStatusResult[]; + /** The URL to get the next set of results. */ + nextLink?: string; +} + /** VirtualNetworkGatewaySku details. */ export interface VirtualNetworkGatewaySku { /** Gateway SKU name. */ @@ -4342,6 +4416,8 @@ export interface VpnClientConfiguration { aadAudience?: string; /** The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. */ aadIssuer?: string; + /** per ip address pool connection policy for virtual network gateway P2S client. */ + vngClientConnectionConfigurations?: VngClientConnectionConfiguration[]; } /** An IPSec Policy configuration for a virtual network gateway connection. */ @@ -4374,6 +4450,16 @@ export interface RadiusServer { radiusServerSecret?: string; } +/** Vpn Client Connection configuration PolicyGroup member */ +export interface VirtualNetworkGatewayPolicyGroupMember { + /** Name of the VirtualNetworkGatewayPolicyGroupMember. */ + name?: string; + /** The Vpn Policy member attribute type. */ + attributeType?: VpnPolicyMemberAttributeType; + /** The value of Attribute used for this VirtualNetworkGatewayPolicyGroupMember. */ + attributeValue?: string; +} + /** BGP settings details. */ export interface BgpSettings { /** The BGP speaker's ASN. */ @@ -4913,6 +4999,10 @@ export interface RoutingConfiguration { propagatedRouteTables?: PropagatedRouteTable; /** List of routes that control routing from VirtualHub into a virtual network connection. */ vnetRoutes?: VnetRoute; + /** The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes. */ + inboundRouteMap?: SubResource; + /** The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes. */ + outboundRouteMap?: SubResource; } /** The list of RouteTables to advertise the routes to. */ @@ -4925,6 +5015,8 @@ export interface PropagatedRouteTable { /** List of routes that control routing from VirtualHub into a virtual network connection. */ export interface VnetRoute { + /** Configuration for static routes on this HubVnetConnection. */ + staticRoutesConfig?: StaticRoutesConfig; /** List of all Static Routes. */ staticRoutes?: StaticRoute[]; /** @@ -4934,6 +5026,17 @@ export interface VnetRoute { readonly bgpConnections?: SubResource[]; } +/** Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection. */ +export interface StaticRoutesConfig { + /** + * Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly propagateStaticRoutes?: boolean; + /** Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke. */ + vnetLocalRouteOverrideCriteria?: VnetLocalRouteOverrideCriteria; +} + /** List of all Static Routes. */ export interface StaticRoute { /** The name of the StaticRoute that is unique within a VnetRoute. */ @@ -5028,6 +5131,56 @@ export interface ListVirtualHubsResult { nextLink?: string; } +/** A RouteMap Rule. */ +export interface RouteMapRule { + /** The unique name for the rule. */ + name?: string; + /** List of matching criterion which will be applied to traffic. */ + matchCriteria?: Criterion[]; + /** List of actions which will be applied on a match. */ + actions?: Action[]; + /** Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'. */ + nextStepIfMatched?: NextStep; +} + +/** A matching criteria which matches routes based on route prefix, community, and AS path. */ +export interface Criterion { + /** List of route prefixes which this criteria matches. */ + routePrefix?: string[]; + /** List of BGP communities which this criteria matches. */ + community?: string[]; + /** List of AS paths which this criteria matches. */ + asPath?: string[]; + /** Match condition to apply RouteMap rules. */ + matchCondition?: RouteMapMatchCondition; +} + +/** Action to be taken on a route matching a RouteMap criterion. */ +export interface Action { + /** Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.' */ + type?: RouteMapActionType; + /** List of parameters relevant to the action.For instance if type is drop then parameters has list of prefixes to be dropped.If type is add, parameters would have list of ASN numbers to be added */ + parameters?: Parameter[]; +} + +/** Parameters for an Action. */ +export interface Parameter { + /** List of route prefixes. */ + routePrefix?: string[]; + /** List of BGP communities. */ + community?: string[]; + /** List of AS paths. */ + asPath?: string[]; +} + +/** List of RouteMaps and a URL nextLink to get the next set of results. */ +export interface ListRouteMapsResult { + /** List of RouteMaps. */ + value?: RouteMap[]; + /** URL to get the next set of operation list results if there are any. */ + nextLink?: string; +} + /** List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. */ export interface ListHubVirtualNetworkConnectionsResult { /** List of HubVirtualNetworkConnections. */ @@ -5291,6 +5444,22 @@ export interface EffectiveRoutesParameters { virtualWanResourceType?: string; } +/** The parameters specifying the connection resource whose inbound routes are being requested. */ +export interface GetInboundRoutesParameters { + /** The connection resource whose inbound routes are being requested. */ + resourceUri?: string; + /** The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. */ + connectionType?: string; +} + +/** The parameters specifying the connection resource whose outbound routes are being requested. */ +export interface GetOutboundRoutesParameters { + /** The connection resource whose outbound routes are being requested. */ + resourceUri?: string; + /** The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection. */ + connectionType?: string; +} + /** The routing policy object used in a RoutingIntent resource. */ export interface RoutingPolicy { /** The unique name for the routing policy. */ @@ -5446,17 +5615,40 @@ export interface ManagedRuleOverride { ruleId: string; /** The state of the managed rule. Defaults to Disabled if not specified. */ state?: ManagedRuleEnabledState; + /** Describes the override action to be applied when rule matches. */ + action?: ActionType; } -/** Response for ListExpressRouteProviderPort API service call. */ -export interface ExpressRouteProviderPortListResult { - /** A list of ExpressRouteProviderPort resources. */ - value?: ExpressRouteProviderPort[]; +/** SwapResource to represent slot type on the specified cloud service. */ +export interface SwapResource { /** - * The URL to get the next set of results. + * Resource Id. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextLink?: string; + readonly id?: string; + /** + * Resource name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * Resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** Swap resource properties */ + properties?: SwapResourceProperties; +} + +/** Swap resource properties */ +export interface SwapResourceProperties { + /** Specifies slot info on a cloud service */ + slotType?: SlotType; +} + +/** SwapResource List with single entry to represent slot type on the specified cloud service. */ +export interface SwapResourceListResult { + value?: SwapResource[]; } /** Properties of the FirewallPolicyNatRuleCollectionAction. */ @@ -5534,6 +5726,16 @@ export interface VirtualHubEffectiveRoute { routeOrigin?: string; } +/** The effective RouteMap route configured on the connection resource. */ +export interface EffectiveRouteMapRoute { + /** The address prefix of the route. */ + prefix?: string[]; + /** BGP communities of the route. */ + bgpCommunities?: string; + /** The ASPath of this route. */ + asPath?: string; +} + /** IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. */ export interface ApplicationGatewayIPConfiguration extends SubResource { /** Name of the IP configuration that is unique within an Application Gateway. */ @@ -7337,6 +7539,11 @@ export interface ExpressRouteLink extends SubResource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly rackId?: string; + /** + * Cololocation for ExpressRoute Hybrid Direct. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly coloLocation?: string; /** * Physical fiber port type. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -7486,6 +7693,8 @@ export interface Probe extends SubResource { 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 number of consecutive successful or failed probes in order to allow or deny traffic from being delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. */ + probeThreshold?: 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; /** @@ -7829,6 +8038,53 @@ export interface VpnClientRevokedCertificate extends SubResource { readonly provisioningState?: ProvisioningState; } +/** A vpn client connection configuration for client connection configuration. */ +export interface VngClientConnectionConfiguration extends SubResource { + /** 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** The reference to the address space resource which represents Address space for P2S VpnClient. */ + vpnClientAddressPool?: AddressSpace; + /** List of references to virtualNetworkGatewayPolicyGroups */ + virtualNetworkGatewayPolicyGroups?: SubResource[]; + /** + * The provisioning state of the VngClientConnectionConfiguration resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; +} + +/** Parameters for VirtualNetworkGatewayPolicyGroup. */ +export interface VirtualNetworkGatewayPolicyGroup extends SubResource { + /** 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** Shows if this is a Default VirtualNetworkGatewayPolicyGroup or not. */ + isDefault?: boolean; + /** Priority for VirtualNetworkGatewayPolicyGroup. */ + priority?: number; + /** Multiple PolicyMembers for VirtualNetworkGatewayPolicyGroup. */ + policyMembers?: VirtualNetworkGatewayPolicyGroupMember[]; + /** + * List of references to vngClientConnectionConfigurations. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly vngClientConnectionConfigurations?: SubResource[]; + /** + * The provisioning state of the VirtualNetworkGatewayPolicyGroup resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; +} + /** VirtualNetworkGatewayNatRule Resource. */ export interface VirtualNetworkGatewayNatRule extends SubResource { /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */ @@ -8004,6 +8260,36 @@ export interface VirtualHubRouteTableV2 extends SubResource { readonly provisioningState?: ProvisioningState; } +/** The RouteMap child resource of a Virtual hub. */ +export interface RouteMap extends SubResource { + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * A unique read-only string that changes whenever the resource is updated. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * Resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** List of connections which have this RoutMap associated for inbound traffic. */ + associatedInboundConnections?: string[]; + /** List of connections which have this RoutMap associated for outbound traffic. */ + associatedOutboundConnections?: string[]; + /** List of RouteMap rules to be applied. */ + rules?: RouteMapRule[]; + /** + * The provisioning state of the RouteMap resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; +} + /** HubVirtualNetworkConnection Resource. */ export interface HubVirtualNetworkConnection extends SubResource { /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */ @@ -8215,6 +8501,8 @@ export interface ExpressRouteConnection extends SubResource { enableInternetSecurity?: boolean; /** Enable FastPath to vWan Firewall hub. */ expressRouteGatewayBypass?: boolean; + /** Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. */ + enablePrivateLinkFastPath?: boolean; /** The Routing Configuration indicating the associated and propagated route tables on this connection. */ routingConfiguration?: RoutingConfiguration; } @@ -8545,6 +8833,8 @@ export interface NetworkInterface extends Resource { readonly vnetEncryptionSupported?: boolean; /** If the network interface is configured for accelerated networking. Not applicable to VM sizes which require accelerated networking. */ enableAcceleratedNetworking?: boolean; + /** Indicates whether to disable tcp state tracking. */ + disableTcpStateTracking?: boolean; /** Indicates whether IP forwarding is enabled on this network interface. */ enableIPForwarding?: boolean; /** @@ -8944,6 +9234,8 @@ export interface ApplicationGatewayFirewallRuleSet extends Resource { ruleSetVersion?: string; /** The rule groups of the web application firewall rule set. */ ruleGroups?: ApplicationGatewayFirewallRuleGroup[]; + /** Tier of an application gateway that support the rule set. */ + tiers?: ApplicationGatewayTierTypes[]; } /** Response for ApplicationGatewayAvailableSslOptions API service call. */ @@ -9066,6 +9358,8 @@ export interface CustomIpPrefix extends Resource { readonly etag?: string; /** A list of availability zones denoting the IP allocated for the resource needs to come from. */ zones?: string[]; + /** The ASN for CIDR advertising. Should be an integer as string. */ + asn?: string; /** The prefix range in CIDR notation. Should include the start address and the prefix length. */ cidr?: string; /** Signed message for WAN validation. */ @@ -9081,8 +9375,14 @@ export interface CustomIpPrefix extends Resource { readonly childCustomIpPrefixes?: SubResource[]; /** The commissioned state of the Custom IP Prefix. */ commissionedState?: CommissionedState; + /** Whether to do express route advertise. */ + expressRouteAdvertise?: boolean; + /** The Geo for CIDR advertising. Should be an Geo code. */ + geo?: Geo; /** Whether to Advertise the range to Internet. */ noInternetAdvertise?: boolean; + /** Type of custom IP prefix. Should be Singular, Parent, or Child. */ + prefixType?: CustomIpPrefixType; /** * The list of all referenced PublicIpPrefixes. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -9122,13 +9422,6 @@ export interface DdosCustomPolicy extends Resource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; - /** - * The list of public IPs associated with the DDoS custom policy resource. This list is read-only. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly publicIPAddresses?: SubResource[]; - /** The protocol-specific DDoS policy customization parameters. */ - protocolCustomSettings?: ProtocolCustomSettingsFormat[]; } /** Differentiated Services Code Point configuration for any given network interface */ @@ -9354,6 +9647,42 @@ export interface ExpressRoutePort extends Resource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly resourceGuid?: string; + /** The billing type of the ExpressRoutePort resource. */ + billingType?: ExpressRoutePortsBillingType; +} + +/** ExpressRouteProviderPort resource. */ +export interface ExpressRouteProviderPort extends Resource { + /** + * A unique read-only string that changes whenever the resource is updated. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; + /** + * The name of the port pair. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly portPairDescriptor?: string; + /** + * The name of the primary port. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly primaryAzurePort?: string; + /** + * The name of the secondary port. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly secondaryAzurePort?: string; + /** The peering location of the port pair. */ + peeringLocation?: string; + /** Overprovisioning factor for the port pair. */ + overprovisionFactor?: number; + /** Bandwidth of the port in Mbps */ + portBandwidthInMbps?: number; + /** Used Bandwidth of the port in Mbps */ + usedBandwidthInMbps?: number; + /** Remaining Bandwidth of the port in Mbps */ + remainingBandwidthInMbps?: number; } /** FirewallPolicy Resource. */ @@ -9829,6 +10158,8 @@ export interface VirtualNetworkGateway extends Resource { sku?: VirtualNetworkGatewaySku; /** The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations. */ vpnClientConfiguration?: VpnClientConfiguration; + /** The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup for the gateway. */ + virtualNetworkGatewayPolicyGroups?: VirtualNetworkGatewayPolicyGroup[]; /** Virtual network gateway's BGP speaker settings. */ bgpSettings?: BgpSettings; /** The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient. */ @@ -9927,6 +10258,8 @@ export interface VirtualNetworkGatewayConnectionListEntity extends Resource { readonly provisioningState?: ProvisioningState; /** Bypass ExpressRoute Gateway for data forwarding. */ expressRouteGatewayBypass?: boolean; + /** Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. */ + enablePrivateLinkFastPath?: boolean; } /** A common class for general resource information. */ @@ -10033,6 +10366,8 @@ export interface VirtualNetworkGatewayConnection extends Resource { readonly provisioningState?: ProvisioningState; /** Bypass ExpressRoute Gateway for data forwarding. */ expressRouteGatewayBypass?: boolean; + /** Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled. */ + enablePrivateLinkFastPath?: boolean; } /** VirtualRouter Resource. */ @@ -10266,6 +10601,11 @@ export interface VirtualHub extends Resource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly ipConfigurations?: SubResource[]; + /** + * List of references to RouteMaps. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly routeMaps?: SubResource[]; /** VirtualRouter ASN. */ virtualRouterAsn?: number; /** VirtualRouter IPs. */ @@ -10373,40 +10713,6 @@ export interface WebApplicationFirewallPolicy extends Resource { readonly pathBasedRules?: SubResource[]; } -/** ExpressRouteProviderPort resource. */ -export interface ExpressRouteProviderPort extends Resource { - /** - * A unique read-only string that changes whenever the resource is updated. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly etag?: string; - /** - * The name of the port pair. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly portPairDescriptor?: string; - /** - * The name of the primary port. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly primaryAzurePort?: string; - /** - * The name of the secondary port. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly secondaryAzurePort?: string; - /** The peering location of the port pair. */ - peeringLocation?: string; - /** Overprovisioning factor for the port pair. */ - overprovisionFactor?: number; - /** Bandwidth of the port in Mbps */ - portBandwidthInMbps?: number; - /** Used Bandwidth of the port in Mbps */ - usedBandwidthInMbps?: number; - /** Remaining Bandwidth of the port in Mbps */ - remainingBandwidthInMbps?: number; -} - /** The visibility list of the private link service. */ export interface PrivateLinkServicePropertiesVisibility extends ResourceSet {} @@ -11558,23 +11864,26 @@ export enum KnownPublicIPAddressSkuTier { */ export type PublicIPAddressSkuTier = string; -/** Known values of {@link DdosSettingsProtectionCoverage} that the service accepts. */ -export enum KnownDdosSettingsProtectionCoverage { - /** Basic */ - Basic = "Basic", - /** Standard */ - Standard = "Standard" +/** Known values of {@link DdosSettingsProtectionMode} that the service accepts. */ +export enum KnownDdosSettingsProtectionMode { + /** VirtualNetworkInherited */ + VirtualNetworkInherited = "VirtualNetworkInherited", + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled" } /** - * Defines values for DdosSettingsProtectionCoverage. \ - * {@link KnownDdosSettingsProtectionCoverage} can be used interchangeably with DdosSettingsProtectionCoverage, + * Defines values for DdosSettingsProtectionMode. \ + * {@link KnownDdosSettingsProtectionMode} can be used interchangeably with DdosSettingsProtectionMode, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Basic** \ - * **Standard** + * **VirtualNetworkInherited** \ + * **Enabled** \ + * **Disabled** */ -export type DdosSettingsProtectionCoverage = string; +export type DdosSettingsProtectionMode = string; /** Known values of {@link NatGatewaySkuName} that the service accepts. */ export enum KnownNatGatewaySkuName { @@ -11795,6 +12104,24 @@ export enum KnownApplicationGatewayCustomErrorStatusCode { */ export type ApplicationGatewayCustomErrorStatusCode = string; +/** Known values of {@link ApplicationGatewayClientRevocationOptions} that the service accepts. */ +export enum KnownApplicationGatewayClientRevocationOptions { + /** None */ + None = "None", + /** Ocsp */ + Ocsp = "OCSP" +} + +/** + * Defines values for ApplicationGatewayClientRevocationOptions. \ + * {@link KnownApplicationGatewayClientRevocationOptions} can be used interchangeably with ApplicationGatewayClientRevocationOptions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **OCSP** + */ +export type ApplicationGatewayClientRevocationOptions = string; + /** Known values of {@link ApplicationGatewayRequestRoutingRuleType} that the service accepts. */ export enum KnownApplicationGatewayRequestRoutingRuleType { /** Basic */ @@ -11903,11 +12230,104 @@ export enum KnownApplicationGatewayBackendHealthServerHealth { */ export type ApplicationGatewayBackendHealthServerHealth = string; -/** Known values of {@link AzureFirewallRCActionType} that the service accepts. */ -export enum KnownAzureFirewallRCActionType { - /** Allow */ - Allow = "Allow", - /** Deny */ +/** Known values of {@link ApplicationGatewayWafRuleStateTypes} that the service accepts. */ +export enum KnownApplicationGatewayWafRuleStateTypes { + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled" +} + +/** + * Defines values for ApplicationGatewayWafRuleStateTypes. \ + * {@link KnownApplicationGatewayWafRuleStateTypes} can be used interchangeably with ApplicationGatewayWafRuleStateTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** + */ +export type ApplicationGatewayWafRuleStateTypes = string; + +/** Known values of {@link ApplicationGatewayWafRuleActionTypes} that the service accepts. */ +export enum KnownApplicationGatewayWafRuleActionTypes { + /** None */ + None = "None", + /** AnomalyScoring */ + AnomalyScoring = "AnomalyScoring", + /** Allow */ + Allow = "Allow", + /** Block */ + Block = "Block", + /** Log */ + Log = "Log" +} + +/** + * Defines values for ApplicationGatewayWafRuleActionTypes. \ + * {@link KnownApplicationGatewayWafRuleActionTypes} can be used interchangeably with ApplicationGatewayWafRuleActionTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **AnomalyScoring** \ + * **Allow** \ + * **Block** \ + * **Log** + */ +export type ApplicationGatewayWafRuleActionTypes = string; + +/** Known values of {@link ApplicationGatewayTierTypes} that the service accepts. */ +export enum KnownApplicationGatewayTierTypes { + /** Standard */ + Standard = "Standard", + /** WAF */ + WAF = "WAF", + /** StandardV2 */ + StandardV2 = "Standard_v2", + /** WAFV2 */ + WAFV2 = "WAF_v2" +} + +/** + * Defines values for ApplicationGatewayTierTypes. \ + * {@link KnownApplicationGatewayTierTypes} can be used interchangeably with ApplicationGatewayTierTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Standard** \ + * **WAF** \ + * **Standard_v2** \ + * **WAF_v2** + */ +export type ApplicationGatewayTierTypes = string; + +/** Known values of {@link ApplicationGatewayRuleSetStatusOptions} that the service accepts. */ +export enum KnownApplicationGatewayRuleSetStatusOptions { + /** Preview */ + Preview = "Preview", + /** GA */ + GA = "GA", + /** Supported */ + Supported = "Supported", + /** Deprecated */ + Deprecated = "Deprecated" +} + +/** + * Defines values for ApplicationGatewayRuleSetStatusOptions. \ + * {@link KnownApplicationGatewayRuleSetStatusOptions} can be used interchangeably with ApplicationGatewayRuleSetStatusOptions, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Preview** \ + * **GA** \ + * **Supported** \ + * **Deprecated** + */ +export type ApplicationGatewayRuleSetStatusOptions = string; + +/** Known values of {@link AzureFirewallRCActionType} that the service accepts. */ +export enum KnownAzureFirewallRCActionType { + /** Allow */ + Allow = "Allow", + /** Deny */ Deny = "Deny" } @@ -12088,14 +12508,16 @@ export enum KnownCommissionedState { Provisioned = "Provisioned", /** Commissioning */ Commissioning = "Commissioning", + /** CommissionedNoInternetAdvertise */ + CommissionedNoInternetAdvertise = "CommissionedNoInternetAdvertise", /** Commissioned */ Commissioned = "Commissioned", /** Decommissioning */ Decommissioning = "Decommissioning", /** Deprovisioning */ Deprovisioning = "Deprovisioning", - /** CommissionedNoInternetAdvertise */ - CommissionedNoInternetAdvertise = "CommissionedNoInternetAdvertise" + /** Deprovisioned */ + Deprovisioned = "Deprovisioned" } /** @@ -12106,57 +12528,73 @@ export enum KnownCommissionedState { * **Provisioning** \ * **Provisioned** \ * **Commissioning** \ + * **CommissionedNoInternetAdvertise** \ * **Commissioned** \ * **Decommissioning** \ * **Deprovisioning** \ - * **CommissionedNoInternetAdvertise** + * **Deprovisioned** */ export type CommissionedState = string; -/** Known values of {@link DdosCustomPolicyProtocol} that the service accepts. */ -export enum KnownDdosCustomPolicyProtocol { - /** Tcp */ - Tcp = "Tcp", - /** Udp */ - Udp = "Udp", - /** Syn */ - Syn = "Syn" +/** Known values of {@link Geo} that the service accepts. */ +export enum KnownGeo { + /** Global */ + Global = "GLOBAL", + /** Afri */ + Afri = "AFRI", + /** Apac */ + Apac = "APAC", + /** Euro */ + Euro = "EURO", + /** Latam */ + Latam = "LATAM", + /** NAM */ + NAM = "NAM", + /** ME */ + ME = "ME", + /** Oceania */ + Oceania = "OCEANIA", + /** AQ */ + AQ = "AQ" } /** - * Defines values for DdosCustomPolicyProtocol. \ - * {@link KnownDdosCustomPolicyProtocol} can be used interchangeably with DdosCustomPolicyProtocol, + * Defines values for Geo. \ + * {@link KnownGeo} can be used interchangeably with Geo, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Tcp** \ - * **Udp** \ - * **Syn** + * **GLOBAL** \ + * **AFRI** \ + * **APAC** \ + * **EURO** \ + * **LATAM** \ + * **NAM** \ + * **ME** \ + * **OCEANIA** \ + * **AQ** */ -export type DdosCustomPolicyProtocol = string; +export type Geo = string; -/** Known values of {@link DdosCustomPolicyTriggerSensitivityOverride} that the service accepts. */ -export enum KnownDdosCustomPolicyTriggerSensitivityOverride { - /** Relaxed */ - Relaxed = "Relaxed", - /** Low */ - Low = "Low", - /** Default */ - Default = "Default", - /** High */ - High = "High" +/** Known values of {@link CustomIpPrefixType} that the service accepts. */ +export enum KnownCustomIpPrefixType { + /** Singular */ + Singular = "Singular", + /** Parent */ + Parent = "Parent", + /** Child */ + Child = "Child" } /** - * Defines values for DdosCustomPolicyTriggerSensitivityOverride. \ - * {@link KnownDdosCustomPolicyTriggerSensitivityOverride} can be used interchangeably with DdosCustomPolicyTriggerSensitivityOverride, + * Defines values for CustomIpPrefixType. \ + * {@link KnownCustomIpPrefixType} can be used interchangeably with CustomIpPrefixType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Relaxed** \ - * **Low** \ - * **Default** \ - * **High** + * **Singular** \ + * **Parent** \ + * **Child** */ -export type DdosCustomPolicyTriggerSensitivityOverride = string; +export type CustomIpPrefixType = string; /** Known values of {@link ProtocolType} that the service accepts. */ export enum KnownProtocolType { @@ -12479,6 +12917,24 @@ export enum KnownExpressRouteLinkMacSecSciState { */ export type ExpressRouteLinkMacSecSciState = string; +/** Known values of {@link ExpressRoutePortsBillingType} that the service accepts. */ +export enum KnownExpressRoutePortsBillingType { + /** MeteredData */ + MeteredData = "MeteredData", + /** UnlimitedData */ + UnlimitedData = "UnlimitedData" +} + +/** + * Defines values for ExpressRoutePortsBillingType. \ + * {@link KnownExpressRoutePortsBillingType} can be used interchangeably with ExpressRoutePortsBillingType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **MeteredData** \ + * **UnlimitedData** + */ +export type ExpressRoutePortsBillingType = string; + /** Known values of {@link ExpressRoutePortAuthorizationUseStatus} that the service accepts. */ export enum KnownExpressRoutePortAuthorizationUseStatus { /** Available */ @@ -13006,7 +13462,9 @@ export enum KnownNetworkIntentPolicyBasedService { /** None */ None = "None", /** All */ - All = "All" + All = "All", + /** AllowRulesOnly */ + AllowRulesOnly = "AllowRulesOnly" } /** @@ -13015,7 +13473,8 @@ export enum KnownNetworkIntentPolicyBasedService { * this enum contains the known values that the service supports. * ### Known values supported by the service * **None** \ - * **All** + * **All** \ + * **AllowRulesOnly** */ export type NetworkIntentPolicyBasedService = string; @@ -13661,6 +14120,24 @@ export enum KnownEvaluationState { */ export type EvaluationState = string; +/** Known values of {@link IsWorkloadProtected} that the service accepts. */ +export enum KnownIsWorkloadProtected { + /** False */ + False = "False", + /** True */ + True = "True" +} + +/** + * Defines values for IsWorkloadProtected. \ + * {@link KnownIsWorkloadProtected} can be used interchangeably with IsWorkloadProtected, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **False** \ + * **True** + */ +export type IsWorkloadProtected = string; + /** Known values of {@link PublicIPPrefixSkuName} that the service accepts. */ export enum KnownPublicIPPrefixSkuName { /** Standard */ @@ -14282,6 +14759,27 @@ export enum KnownPfsGroup { */ export type PfsGroup = string; +/** Known values of {@link VpnPolicyMemberAttributeType} that the service accepts. */ +export enum KnownVpnPolicyMemberAttributeType { + /** CertificateGroupId */ + CertificateGroupId = "CertificateGroupId", + /** AADGroupId */ + AADGroupId = "AADGroupId", + /** RadiusAzureGroupId */ + RadiusAzureGroupId = "RadiusAzureGroupId" +} + +/** + * Defines values for VpnPolicyMemberAttributeType. \ + * {@link KnownVpnPolicyMemberAttributeType} can be used interchangeably with VpnPolicyMemberAttributeType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **CertificateGroupId** \ + * **AADGroupId** \ + * **RadiusAzureGroupId** + */ +export type VpnPolicyMemberAttributeType = string; + /** Known values of {@link VpnNatRuleType} that the service accepts. */ export enum KnownVpnNatRuleType { /** Static */ @@ -14528,26 +15026,23 @@ export enum KnownVpnGatewayTunnelingProtocol { */ export type VpnGatewayTunnelingProtocol = string; -/** Known values of {@link VpnPolicyMemberAttributeType} that the service accepts. */ -export enum KnownVpnPolicyMemberAttributeType { - /** CertificateGroupId */ - CertificateGroupId = "CertificateGroupId", - /** AADGroupId */ - AADGroupId = "AADGroupId", - /** RadiusAzureGroupId */ - RadiusAzureGroupId = "RadiusAzureGroupId" +/** Known values of {@link VnetLocalRouteOverrideCriteria} that the service accepts. */ +export enum KnownVnetLocalRouteOverrideCriteria { + /** Contains */ + Contains = "Contains", + /** Equal */ + Equal = "Equal" } /** - * Defines values for VpnPolicyMemberAttributeType. \ - * {@link KnownVpnPolicyMemberAttributeType} can be used interchangeably with VpnPolicyMemberAttributeType, + * Defines values for VnetLocalRouteOverrideCriteria. \ + * {@link KnownVnetLocalRouteOverrideCriteria} can be used interchangeably with VnetLocalRouteOverrideCriteria, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **CertificateGroupId** \ - * **AADGroupId** \ - * **RadiusAzureGroupId** + * **Contains** \ + * **Equal** */ -export type VpnPolicyMemberAttributeType = string; +export type VnetLocalRouteOverrideCriteria = string; /** Known values of {@link RoutingState} that the service accepts. */ export enum KnownRoutingState { @@ -14615,6 +15110,81 @@ export enum KnownHubRoutingPreference { */ export type HubRoutingPreference = string; +/** Known values of {@link RouteMapMatchCondition} that the service accepts. */ +export enum KnownRouteMapMatchCondition { + /** Unknown */ + Unknown = "Unknown", + /** Contains */ + Contains = "Contains", + /** Equals */ + Equals = "Equals", + /** NotContains */ + NotContains = "NotContains", + /** NotEquals */ + NotEquals = "NotEquals" +} + +/** + * Defines values for RouteMapMatchCondition. \ + * {@link KnownRouteMapMatchCondition} can be used interchangeably with RouteMapMatchCondition, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Contains** \ + * **Equals** \ + * **NotContains** \ + * **NotEquals** + */ +export type RouteMapMatchCondition = string; + +/** Known values of {@link RouteMapActionType} that the service accepts. */ +export enum KnownRouteMapActionType { + /** Unknown */ + Unknown = "Unknown", + /** Remove */ + Remove = "Remove", + /** Add */ + Add = "Add", + /** Replace */ + Replace = "Replace", + /** Drop */ + Drop = "Drop" +} + +/** + * Defines values for RouteMapActionType. \ + * {@link KnownRouteMapActionType} can be used interchangeably with RouteMapActionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Remove** \ + * **Add** \ + * **Replace** \ + * **Drop** + */ +export type RouteMapActionType = string; + +/** Known values of {@link NextStep} that the service accepts. */ +export enum KnownNextStep { + /** Unknown */ + Unknown = "Unknown", + /** Continue */ + Continue = "Continue", + /** Terminate */ + Terminate = "Terminate" +} + +/** + * Defines values for NextStep. \ + * {@link KnownNextStep} can be used interchangeably with NextStep, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Continue** \ + * **Terminate** + */ +export type NextStep = string; + /** Known values of {@link VpnConnectionStatus} that the service accepts. */ export enum KnownVpnConnectionStatus { /** Unknown */ @@ -14824,6 +15394,8 @@ export type WebApplicationFirewallOperator = string; /** Known values of {@link WebApplicationFirewallTransform} that the service accepts. */ export enum KnownWebApplicationFirewallTransform { + /** Uppercase */ + Uppercase = "Uppercase", /** Lowercase */ Lowercase = "Lowercase", /** Trim */ @@ -14843,6 +15415,7 @@ export enum KnownWebApplicationFirewallTransform { * {@link KnownWebApplicationFirewallTransform} can be used interchangeably with WebApplicationFirewallTransform, * this enum contains the known values that the service supports. * ### Known values supported by the service + * **Uppercase** \ * **Lowercase** \ * **Trim** \ * **UrlDecode** \ @@ -14972,7 +15545,9 @@ export type OwaspCrsExclusionEntrySelectorMatchOperator = string; /** Known values of {@link ManagedRuleEnabledState} that the service accepts. */ export enum KnownManagedRuleEnabledState { /** Disabled */ - Disabled = "Disabled" + Disabled = "Disabled", + /** Enabled */ + Enabled = "Enabled" } /** @@ -14980,10 +15555,35 @@ export enum KnownManagedRuleEnabledState { * {@link KnownManagedRuleEnabledState} can be used interchangeably with ManagedRuleEnabledState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Disabled** + * **Disabled** \ + * **Enabled** */ export type ManagedRuleEnabledState = string; +/** Known values of {@link ActionType} that the service accepts. */ +export enum KnownActionType { + /** AnomalyScoring */ + AnomalyScoring = "AnomalyScoring", + /** Allow */ + Allow = "Allow", + /** Block */ + Block = "Block", + /** Log */ + Log = "Log" +} + +/** + * Defines values for ActionType. \ + * {@link KnownActionType} can be used interchangeably with ActionType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AnomalyScoring** \ + * **Allow** \ + * **Block** \ + * **Log** + */ +export type ActionType = string; + /** Known values of {@link FirewallPolicyNatRuleCollectionActionType} that the service accepts. */ export enum KnownFirewallPolicyNatRuleCollectionActionType { /** Dnat */ @@ -15249,6 +15849,8 @@ export type FirewallPolicyIdpsSignatureSeverity = 1 | 2 | 3; export type FirewallPolicyIdpsSignatureDirection = 0 | 1 | 2; /** Defines values for PacketCaptureTargetType. */ export type PacketCaptureTargetType = "AzureVM" | "AzureVMSS"; +/** Defines values for SlotType. */ +export type SlotType = "Production" | "Staging"; /** Optional parameters. */ export interface ApplicationGatewaysDeleteOptionalParams @@ -15480,6 +16082,27 @@ export interface ApplicationGatewayPrivateEndpointConnectionsListNextOptionalPar /** Contains response data for the listNext operation. */ export type ApplicationGatewayPrivateEndpointConnectionsListNextResponse = ApplicationGatewayPrivateEndpointConnectionListResult; +/** Optional parameters. */ +export interface ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ApplicationGatewayWafDynamicManifestsDefaultGetResponse = ApplicationGatewayWafDynamicManifestResult; + +/** Optional parameters. */ +export interface ApplicationGatewayWafDynamicManifestsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ApplicationGatewayWafDynamicManifestsGetResponse = ApplicationGatewayWafDynamicManifestResultList; + +/** Optional parameters. */ +export interface ApplicationGatewayWafDynamicManifestsGetNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getNext operation. */ +export type ApplicationGatewayWafDynamicManifestsGetNextResponse = ApplicationGatewayWafDynamicManifestResultList; + /** Optional parameters. */ export interface ApplicationSecurityGroupsDeleteOptionalParams extends coreClient.OperationOptions { @@ -15840,29 +16463,48 @@ export interface CheckDnsNameAvailabilityOptionalParams export type CheckDnsNameAvailabilityResponse = DnsNameAvailabilityResult; /** Optional parameters. */ -export interface ListActiveConnectivityConfigurationsOptionalParams +export interface ExpressRouteProviderPortOptionalParams extends coreClient.OperationOptions {} +/** Contains response data for the expressRouteProviderPort operation. */ +export type ExpressRouteProviderPortResponse = ExpressRouteProviderPort; + +/** Optional parameters. */ +export interface ListActiveConnectivityConfigurationsOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; +} + /** Contains response data for the listActiveConnectivityConfigurations operation. */ export type ListActiveConnectivityConfigurationsResponse = ActiveConnectivityConfigurationsListResult; /** Optional parameters. */ export interface ListActiveSecurityAdminRulesOptionalParams - extends coreClient.OperationOptions {} + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; +} /** Contains response data for the listActiveSecurityAdminRules operation. */ export type ListActiveSecurityAdminRulesResponse = ActiveSecurityAdminRulesListResult; /** Optional parameters. */ export interface ListNetworkManagerEffectiveConnectivityConfigurationsOptionalParams - extends coreClient.OperationOptions {} + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; +} /** Contains response data for the listNetworkManagerEffectiveConnectivityConfigurations operation. */ export type ListNetworkManagerEffectiveConnectivityConfigurationsResponse = NetworkManagerEffectiveConnectivityConfigurationListResult; /** Optional parameters. */ export interface ListNetworkManagerEffectiveSecurityAdminRulesOptionalParams - extends coreClient.OperationOptions {} + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; +} /** Contains response data for the listNetworkManagerEffectiveSecurityAdminRules operation. */ export type ListNetworkManagerEffectiveSecurityAdminRulesResponse = NetworkManagerEffectiveSecurityAdminRulesListResult; @@ -15886,13 +16528,6 @@ export interface GeneratevirtualwanvpnserverconfigurationvpnprofileOptionalParam /** Contains response data for the generatevirtualwanvpnserverconfigurationvpnprofile operation. */ export type GeneratevirtualwanvpnserverconfigurationvpnprofileResponse = VpnProfileResponse; -/** Optional parameters. */ -export interface ExpressRouteProviderPortOptionalParams - extends coreClient.OperationOptions {} - -/** Contains response data for the expressRouteProviderPort operation. */ -export type ExpressRouteProviderPortResponse = ExpressRouteProviderPort; - /** Optional parameters. */ export interface PutBastionShareableLinkNextOptionalParams extends coreClient.OperationOptions {} @@ -16193,6 +16828,18 @@ export interface PublicIPAddressesListOptionalParams /** Contains response data for the list operation. */ export type PublicIPAddressesListResponse = PublicIPAddressListResult; +/** Optional parameters. */ +export interface PublicIPAddressesDdosProtectionStatusOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the ddosProtectionStatus operation. */ +export type PublicIPAddressesDdosProtectionStatusResponse = PublicIpDdosProtectionStatusResult; + /** Optional parameters. */ export interface PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesOptionalParams extends coreClient.OperationOptions {} @@ -17053,6 +17700,16 @@ export interface ExpressRoutePortAuthorizationsListNextOptionalParams /** Contains response data for the listNext operation. */ export type ExpressRoutePortAuthorizationsListNextResponse = ExpressRoutePortAuthorizationListResult; +/** Optional parameters. */ +export interface ExpressRouteProviderPortsLocationListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. For example, you can use $filter=location eq '{state}'. */ + filter?: string; +} + +/** Contains response data for the list operation. */ +export type ExpressRouteProviderPortsLocationListResponse = ExpressRouteProviderPortListResult; + /** Optional parameters. */ export interface FirewallPoliciesDeleteOptionalParams extends coreClient.OperationOptions { @@ -17843,7 +18500,10 @@ export type NetworkManagerCommitsPostResponse = NetworkManagerCommit; /** Optional parameters. */ export interface NetworkManagerDeploymentStatusListOptionalParams - extends coreClient.OperationOptions {} + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; +} /** Contains response data for the list operation. */ export type NetworkManagerDeploymentStatusListResponse = NetworkManagerDeploymentStatusListResult; @@ -19827,6 +20487,22 @@ export interface VirtualNetworksListUsageOptionalParams /** Contains response data for the listUsage operation. */ export type VirtualNetworksListUsageResponse = VirtualNetworkListUsageResult; +/** Optional parameters. */ +export interface VirtualNetworksListDdosProtectionStatusOptionalParams + extends coreClient.OperationOptions { + /** The max number of ip addresses to return. */ + top?: number; + /** The skipToken that is given with nextLink. */ + skipToken?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the listDdosProtectionStatus operation. */ +export type VirtualNetworksListDdosProtectionStatusResponse = VirtualNetworkDdosProtectionStatusResult; + /** Optional parameters. */ export interface VirtualNetworksListAllNextOptionalParams extends coreClient.OperationOptions {} @@ -19848,6 +20524,18 @@ export interface VirtualNetworksListUsageNextOptionalParams /** Contains response data for the listUsageNext operation. */ export type VirtualNetworksListUsageNextResponse = VirtualNetworkListUsageResult; +/** Optional parameters. */ +export interface VirtualNetworksListDdosProtectionStatusNextOptionalParams + extends coreClient.OperationOptions { + /** The max number of ip addresses to return. */ + top?: number; + /** The skipToken that is given with nextLink. */ + skipToken?: string; +} + +/** Contains response data for the listDdosProtectionStatusNext operation. */ +export type VirtualNetworksListDdosProtectionStatusNextResponse = VirtualNetworkDdosProtectionStatusResult; + /** Optional parameters. */ export interface SubnetsDeleteOptionalParams extends coreClient.OperationOptions { @@ -20956,6 +21644,24 @@ export interface VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams resumeFrom?: string; } +/** Optional parameters. */ +export interface VirtualHubsGetInboundRoutesOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface VirtualHubsGetOutboundRoutesOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + /** Optional parameters. */ export interface VirtualHubsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions {} @@ -20970,6 +21676,48 @@ export interface VirtualHubsListNextOptionalParams /** Contains response data for the listNext operation. */ export type VirtualHubsListNextResponse = ListVirtualHubsResult; +/** Optional parameters. */ +export interface RouteMapsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type RouteMapsGetResponse = RouteMap; + +/** Optional parameters. */ +export interface RouteMapsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type RouteMapsCreateOrUpdateResponse = RouteMap; + +/** Optional parameters. */ +export interface RouteMapsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Optional parameters. */ +export interface RouteMapsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type RouteMapsListResponse = ListRouteMapsResult; + +/** Optional parameters. */ +export interface RouteMapsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type RouteMapsListNextResponse = ListRouteMapsResult; + /** Optional parameters. */ export interface HubVirtualNetworkConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { @@ -21801,14 +22549,26 @@ export interface WebApplicationFirewallPoliciesListAllNextOptionalParams export type WebApplicationFirewallPoliciesListAllNextResponse = WebApplicationFirewallPolicyListResult; /** Optional parameters. */ -export interface ExpressRouteProviderPortsLocationListOptionalParams +export interface VipSwapGetOptionalParams extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type VipSwapGetResponse = SwapResource; + +/** Optional parameters. */ +export interface VipSwapCreateOptionalParams extends coreClient.OperationOptions { - /** The filter to apply on the operation. For example, you can use $filter=location eq '{state}'. */ - filter?: string; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; } +/** Optional parameters. */ +export interface VipSwapListOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the list operation. */ -export type ExpressRouteProviderPortsLocationListResponse = ExpressRouteProviderPortListResult; +export type VipSwapListResponse = SwapResourceListResult; /** Optional parameters. */ export interface NetworkManagementClientOptionalParams diff --git a/sdk/network/arm-network/src/models/mappers.ts b/sdk/network/arm-network/src/models/mappers.ts index c655b4ac0ccf..5c0cc13ceb0b 100644 --- a/sdk/network/arm-network/src/models/mappers.ts +++ b/sdk/network/arm-network/src/models/mappers.ts @@ -601,23 +601,17 @@ export const DdosSettings: coreClient.CompositeMapper = { name: "Composite", className: "DdosSettings", modelProperties: { - ddosCustomPolicy: { - serializedName: "ddosCustomPolicy", - type: { - name: "Composite", - className: "SubResource" - } - }, - protectionCoverage: { - serializedName: "protectionCoverage", + protectionMode: { + serializedName: "protectionMode", type: { name: "String" } }, - protectedIP: { - serializedName: "protectedIP", + ddosProtectionPlan: { + serializedName: "ddosProtectionPlan", type: { - name: "Boolean" + name: "Composite", + className: "SubResource" } } } @@ -902,6 +896,12 @@ export const ApplicationGatewayClientAuthConfiguration: coreClient.CompositeMapp type: { name: "Boolean" } + }, + verifyClientRevocation: { + serializedName: "verifyClientRevocation", + type: { + name: "String" + } } } } @@ -1773,6 +1773,24 @@ export const ApplicationGatewayFirewallRule: coreClient.CompositeMapper = { name: "Number" } }, + ruleIdString: { + serializedName: "ruleIdString", + type: { + name: "String" + } + }, + state: { + serializedName: "state", + type: { + name: "String" + } + }, + action: { + serializedName: "action", + type: { + name: "String" + } + }, description: { serializedName: "description", type: { @@ -1810,6 +1828,139 @@ export const ApplicationGatewayAvailableSslPredefinedPolicies: coreClient.Compos } }; +export const ApplicationGatewayWafDynamicManifestResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGatewayWafDynamicManifestResult", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + availableRuleSets: { + serializedName: "properties.availableRuleSets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationGatewayFirewallManifestRuleSet" + } + } + } + }, + ruleSetType: { + serializedName: "properties.defaultRuleSet.ruleSetType", + type: { + name: "String" + } + }, + ruleSetVersion: { + serializedName: "properties.defaultRuleSet.ruleSetVersion", + type: { + name: "String" + } + } + } + } +}; + +export const ApplicationGatewayFirewallManifestRuleSet: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGatewayFirewallManifestRuleSet", + modelProperties: { + ruleSetType: { + serializedName: "ruleSetType", + required: true, + type: { + name: "String" + } + }, + ruleSetVersion: { + serializedName: "ruleSetVersion", + required: true, + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + }, + tiers: { + serializedName: "tiers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + ruleGroups: { + serializedName: "ruleGroups", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationGatewayFirewallRuleGroup" + } + } + } + } + } + } +}; + +export const ApplicationGatewayWafDynamicManifestResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGatewayWafDynamicManifestResultList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationGatewayWafDynamicManifestResult" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + export const ApplicationSecurityGroupListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2963,39 +3114,6 @@ export const CustomIpPrefixListResult: coreClient.CompositeMapper = { } }; -export const ProtocolCustomSettingsFormat: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ProtocolCustomSettingsFormat", - modelProperties: { - protocol: { - serializedName: "protocol", - type: { - name: "String" - } - }, - triggerRateOverride: { - serializedName: "triggerRateOverride", - type: { - name: "String" - } - }, - sourceRateOverride: { - serializedName: "sourceRateOverride", - type: { - name: "String" - } - }, - triggerSensitivityOverride: { - serializedName: "triggerSensitivityOverride", - type: { - name: "String" - } - } - } - } -}; - export const DdosProtectionPlan: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3056,6 +3174,19 @@ export const DdosProtectionPlan: coreClient.CompositeMapper = { name: "String" } }, + publicIpAddresses: { + serializedName: "properties.publicIpAddresses", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, virtualNetworks: { serializedName: "properties.virtualNetworks", readOnly: true, @@ -4196,6 +4327,34 @@ export const ExpressRoutePortAuthorizationListResult: coreClient.CompositeMapper } }; +export const ExpressRouteProviderPortListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpressRouteProviderPortListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ExpressRouteProviderPort" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const FirewallPolicyThreatIntelWhitelist: coreClient.CompositeMapper = { type: { name: "Composite", @@ -11196,6 +11355,39 @@ export const AutoApprovedPrivateLinkService: coreClient.CompositeMapper = { } }; +export const PublicIpDdosProtectionStatusResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PublicIpDdosProtectionStatusResult", + modelProperties: { + publicIpAddressId: { + serializedName: "publicIpAddressId", + type: { + name: "String" + } + }, + publicIpAddress: { + serializedName: "publicIpAddress", + type: { + name: "String" + } + }, + isWorkloadProtected: { + serializedName: "isWorkloadProtected", + type: { + name: "String" + } + }, + ddosProtectionPlanId: { + serializedName: "ddosProtectionPlanId", + type: { + name: "String" + } + } + } + } +}; + export const PublicIPPrefixSku: coreClient.CompositeMapper = { type: { name: "Composite", @@ -12209,19 +12401,46 @@ export const VirtualNetworkUsageName: coreClient.CompositeMapper = { } }; -export const VirtualNetworkGatewaySku: coreClient.CompositeMapper = { +export const VirtualNetworkDdosProtectionStatusResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualNetworkGatewaySku", + className: "VirtualNetworkDdosProtectionStatusResult", modelProperties: { - name: { - serializedName: "name", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PublicIpDdosProtectionStatusResult" + } + } } }, - tier: { - serializedName: "tier", + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkGatewaySku: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkGatewaySku", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + serializedName: "tier", type: { name: "String" } @@ -12348,6 +12567,18 @@ export const VpnClientConfiguration: coreClient.CompositeMapper = { type: { name: "String" } + }, + vngClientConnectionConfigurations: { + serializedName: "vngClientConnectionConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VngClientConnectionConfiguration" + } + } + } } } } @@ -12446,6 +12677,33 @@ export const RadiusServer: coreClient.CompositeMapper = { } }; +export const VirtualNetworkGatewayPolicyGroupMember: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkGatewayPolicyGroupMember", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + attributeType: { + serializedName: "attributeType", + type: { + name: "String" + } + }, + attributeValue: { + serializedName: "attributeValue", + type: { + name: "String" + } + } + } + } +}; + export const BgpSettings: coreClient.CompositeMapper = { type: { name: "Composite", @@ -13784,6 +14042,20 @@ export const RoutingConfiguration: coreClient.CompositeMapper = { name: "Composite", className: "VnetRoute" } + }, + inboundRouteMap: { + serializedName: "inboundRouteMap", + type: { + name: "Composite", + className: "SubResource" + } + }, + outboundRouteMap: { + serializedName: "outboundRouteMap", + type: { + name: "Composite", + className: "SubResource" + } } } } @@ -13826,6 +14098,13 @@ export const VnetRoute: coreClient.CompositeMapper = { name: "Composite", className: "VnetRoute", modelProperties: { + staticRoutesConfig: { + serializedName: "staticRoutesConfig", + type: { + name: "Composite", + className: "StaticRoutesConfig" + } + }, staticRoutes: { serializedName: "staticRoutes", type: { @@ -13855,6 +14134,28 @@ export const VnetRoute: coreClient.CompositeMapper = { } }; +export const StaticRoutesConfig: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StaticRoutesConfig", + modelProperties: { + propagateStaticRoutes: { + serializedName: "propagateStaticRoutes", + readOnly: true, + type: { + name: "Boolean" + } + }, + vnetLocalRouteOverrideCriteria: { + serializedName: "vnetLocalRouteOverrideCriteria", + type: { + name: "String" + } + } + } + } +}; + export const StaticRoute: coreClient.CompositeMapper = { type: { name: "Composite", @@ -14143,6 +14444,195 @@ export const ListVirtualHubsResult: coreClient.CompositeMapper = { } }; +export const RouteMapRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RouteMapRule", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + matchCriteria: { + serializedName: "matchCriteria", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Criterion" + } + } + } + }, + actions: { + serializedName: "actions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Action" + } + } + } + }, + nextStepIfMatched: { + serializedName: "nextStepIfMatched", + type: { + name: "String" + } + } + } + } +}; + +export const Criterion: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Criterion", + modelProperties: { + routePrefix: { + serializedName: "routePrefix", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + community: { + serializedName: "community", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + asPath: { + serializedName: "asPath", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + matchCondition: { + serializedName: "matchCondition", + type: { + name: "String" + } + } + } + } +}; + +export const Action: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Action", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + parameters: { + serializedName: "parameters", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Parameter" + } + } + } + } + } + } +}; + +export const Parameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Parameter", + modelProperties: { + routePrefix: { + serializedName: "routePrefix", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + community: { + serializedName: "community", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + asPath: { + serializedName: "asPath", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ListRouteMapsResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ListRouteMapsResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RouteMap" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + export const ListHubVirtualNetworkConnectionsResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -14892,6 +15382,48 @@ export const EffectiveRoutesParameters: coreClient.CompositeMapper = { } }; +export const GetInboundRoutesParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GetInboundRoutesParameters", + modelProperties: { + resourceUri: { + serializedName: "resourceUri", + type: { + name: "String" + } + }, + connectionType: { + serializedName: "connectionType", + type: { + name: "String" + } + } + } + } +}; + +export const GetOutboundRoutesParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GetOutboundRoutesParameters", + modelProperties: { + resourceUri: { + serializedName: "resourceUri", + type: { + name: "String" + } + }, + connectionType: { + serializedName: "connectionType", + type: { + name: "String" + } + } + } + } +}; + export const RoutingPolicy: coreClient.CompositeMapper = { type: { name: "Composite", @@ -15402,15 +15934,74 @@ export const ManagedRuleOverride: coreClient.CompositeMapper = { type: { name: "String" } + }, + action: { + serializedName: "action", + type: { + name: "String" + } } } } }; -export const ExpressRouteProviderPortListResult: coreClient.CompositeMapper = { +export const SwapResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpressRouteProviderPortListResult", + className: "SwapResource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "SwapResourceProperties" + } + } + } + } +}; + +export const SwapResourceProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SwapResourceProperties", + modelProperties: { + slotType: { + serializedName: "slotType", + type: { + name: "Enum", + allowedValues: ["Production", "Staging"] + } + } + } + } +}; + +export const SwapResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SwapResourceListResult", modelProperties: { value: { serializedName: "value", @@ -15419,17 +16010,10 @@ export const ExpressRouteProviderPortListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ExpressRouteProviderPort" + className: "SwapResource" } } } - }, - nextLink: { - serializedName: "nextLink", - readOnly: true, - type: { - name: "String" - } } } } @@ -15652,6 +16236,38 @@ export const VirtualHubEffectiveRoute: coreClient.CompositeMapper = { } }; +export const EffectiveRouteMapRoute: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EffectiveRouteMapRoute", + modelProperties: { + prefix: { + serializedName: "prefix", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + bgpCommunities: { + serializedName: "bgpCommunities", + type: { + name: "String" + } + }, + asPath: { + serializedName: "asPath", + type: { + name: "String" + } + } + } + } +}; + export const ApplicationGatewayIPConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", @@ -19904,6 +20520,13 @@ export const ExpressRouteLink: coreClient.CompositeMapper = { name: "String" } }, + coloLocation: { + serializedName: "properties.coloLocation", + readOnly: true, + type: { + name: "String" + } + }, connectorType: { serializedName: "properties.connectorType", readOnly: true, @@ -20233,6 +20856,12 @@ export const Probe: coreClient.CompositeMapper = { name: "Number" } }, + probeThreshold: { + serializedName: "properties.probeThreshold", + type: { + name: "Number" + } + }, requestPath: { serializedName: "properties.requestPath", type: { @@ -21001,6 +21630,122 @@ export const VpnClientRevokedCertificate: coreClient.CompositeMapper = { } }; +export const VngClientConnectionConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VngClientConnectionConfiguration", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + vpnClientAddressPool: { + serializedName: "properties.vpnClientAddressPool", + type: { + name: "Composite", + className: "AddressSpace" + } + }, + virtualNetworkGatewayPolicyGroups: { + serializedName: "properties.virtualNetworkGatewayPolicyGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const VirtualNetworkGatewayPolicyGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualNetworkGatewayPolicyGroup", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + isDefault: { + serializedName: "properties.isDefault", + type: { + name: "Boolean" + } + }, + priority: { + serializedName: "properties.priority", + type: { + name: "Number" + } + }, + policyMembers: { + serializedName: "properties.policyMembers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkGatewayPolicyGroupMember" + } + } + } + }, + vngClientConnectionConfigurations: { + serializedName: "properties.vngClientConnectionConfigurations", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const VirtualNetworkGatewayNatRule: coreClient.CompositeMapper = { type: { name: "Composite", @@ -21364,14 +22109,68 @@ export const P2SConnectionConfiguration: coreClient.CompositeMapper = { } }; -export const VirtualHubRouteTableV2: coreClient.CompositeMapper = { +export const VirtualHubRouteTableV2: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VirtualHubRouteTableV2", + modelProperties: { + ...SubResource.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + routes: { + serializedName: "properties.routes", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualHubRouteV2" + } + } + } + }, + attachedConnections: { + serializedName: "properties.attachedConnections", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RouteMap: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VirtualHubRouteTableV2", + className: "RouteMap", modelProperties: { ...SubResource.type.modelProperties, name: { serializedName: "name", + readOnly: true, type: { name: "String" } @@ -21383,20 +22182,26 @@ export const VirtualHubRouteTableV2: coreClient.CompositeMapper = { name: "String" } }, - routes: { - serializedName: "properties.routes", + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + associatedInboundConnections: { + serializedName: "properties.associatedInboundConnections", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "VirtualHubRouteV2" + name: "String" } } } }, - attachedConnections: { - serializedName: "properties.attachedConnections", + associatedOutboundConnections: { + serializedName: "properties.associatedOutboundConnections", type: { name: "Sequence", element: { @@ -21406,6 +22211,18 @@ export const VirtualHubRouteTableV2: coreClient.CompositeMapper = { } } }, + rules: { + serializedName: "properties.rules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RouteMapRule" + } + } + } + }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -21963,6 +22780,12 @@ export const ExpressRouteConnection: coreClient.CompositeMapper = { name: "Boolean" } }, + enablePrivateLinkFastPath: { + serializedName: "properties.enablePrivateLinkFastPath", + type: { + name: "Boolean" + } + }, routingConfiguration: { serializedName: "properties.routingConfiguration", type: { @@ -22741,6 +23564,12 @@ export const NetworkInterface: coreClient.CompositeMapper = { name: "Boolean" } }, + disableTcpStateTracking: { + serializedName: "properties.disableTcpStateTracking", + type: { + name: "Boolean" + } + }, enableIPForwarding: { serializedName: "properties.enableIPForwarding", type: { @@ -23867,6 +24696,17 @@ export const ApplicationGatewayFirewallRuleSet: coreClient.CompositeMapper = { } } } + }, + tiers: { + serializedName: "properties.tiers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } } } } @@ -24232,6 +25072,12 @@ export const CustomIpPrefix: coreClient.CompositeMapper = { } } }, + asn: { + serializedName: "properties.asn", + type: { + name: "String" + } + }, cidr: { serializedName: "properties.cidr", type: { @@ -24276,12 +25122,30 @@ export const CustomIpPrefix: coreClient.CompositeMapper = { name: "String" } }, + expressRouteAdvertise: { + serializedName: "properties.expressRouteAdvertise", + type: { + name: "Boolean" + } + }, + geo: { + serializedName: "properties.geo", + type: { + name: "String" + } + }, noInternetAdvertise: { serializedName: "properties.noInternetAdvertise", type: { name: "Boolean" } }, + prefixType: { + serializedName: "properties.prefixType", + type: { + name: "String" + } + }, publicIpPrefixes: { serializedName: "properties.publicIpPrefixes", readOnly: true, @@ -24346,31 +25210,6 @@ export const DdosCustomPolicy: coreClient.CompositeMapper = { type: { name: "String" } - }, - publicIPAddresses: { - serializedName: "properties.publicIPAddresses", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SubResource" - } - } - } - }, - protocolCustomSettings: { - serializedName: "properties.protocolCustomSettings", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProtocolCustomSettingsFormat" - } - } - } } } } @@ -24911,6 +25750,80 @@ export const ExpressRoutePort: coreClient.CompositeMapper = { type: { name: "String" } + }, + billingType: { + serializedName: "properties.billingType", + type: { + name: "String" + } + } + } + } +}; + +export const ExpressRouteProviderPort: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpressRouteProviderPort", + modelProperties: { + ...Resource.type.modelProperties, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String" + } + }, + portPairDescriptor: { + serializedName: "properties.portPairDescriptor", + readOnly: true, + type: { + name: "String" + } + }, + primaryAzurePort: { + serializedName: "properties.primaryAzurePort", + readOnly: true, + type: { + name: "String" + } + }, + secondaryAzurePort: { + serializedName: "properties.secondaryAzurePort", + readOnly: true, + type: { + name: "String" + } + }, + peeringLocation: { + serializedName: "properties.peeringLocation", + type: { + name: "String" + } + }, + overprovisionFactor: { + serializedName: "properties.overprovisionFactor", + type: { + name: "Number" + } + }, + portBandwidthInMbps: { + serializedName: "properties.portBandwidthInMbps", + type: { + name: "Number" + } + }, + usedBandwidthInMbps: { + serializedName: "properties.usedBandwidthInMbps", + type: { + name: "Number" + } + }, + remainingBandwidthInMbps: { + serializedName: "properties.remainingBandwidthInMbps", + type: { + name: "Number" + } } } } @@ -26136,6 +27049,18 @@ export const VirtualNetworkGateway: coreClient.CompositeMapper = { className: "VpnClientConfiguration" } }, + virtualNetworkGatewayPolicyGroups: { + serializedName: "properties.virtualNetworkGatewayPolicyGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VirtualNetworkGatewayPolicyGroup" + } + } + } + }, bgpSettings: { serializedName: "properties.bgpSettings", type: { @@ -26384,6 +27309,12 @@ export const VirtualNetworkGatewayConnectionListEntity: coreClient.CompositeMapp type: { name: "Boolean" } + }, + enablePrivateLinkFastPath: { + serializedName: "properties.enablePrivateLinkFastPath", + type: { + name: "Boolean" + } } } } @@ -26661,6 +27592,12 @@ export const VirtualNetworkGatewayConnection: coreClient.CompositeMapper = { type: { name: "Boolean" } + }, + enablePrivateLinkFastPath: { + serializedName: "properties.enablePrivateLinkFastPath", + type: { + name: "Boolean" + } } } } @@ -27302,6 +28239,19 @@ export const VirtualHub: coreClient.CompositeMapper = { } } }, + routeMaps: { + serializedName: "properties.routeMaps", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubResource" + } + } + } + }, virtualRouterAsn: { constraints: { InclusiveMaximum: 4294967295, @@ -27591,74 +28541,6 @@ export const WebApplicationFirewallPolicy: coreClient.CompositeMapper = { } }; -export const ExpressRouteProviderPort: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpressRouteProviderPort", - modelProperties: { - ...Resource.type.modelProperties, - etag: { - serializedName: "etag", - readOnly: true, - type: { - name: "String" - } - }, - portPairDescriptor: { - serializedName: "properties.portPairDescriptor", - readOnly: true, - type: { - name: "String" - } - }, - primaryAzurePort: { - serializedName: "properties.primaryAzurePort", - readOnly: true, - type: { - name: "String" - } - }, - secondaryAzurePort: { - serializedName: "properties.secondaryAzurePort", - readOnly: true, - type: { - name: "String" - } - }, - peeringLocation: { - serializedName: "properties.peeringLocation", - type: { - name: "String" - } - }, - overprovisionFactor: { - serializedName: "properties.overprovisionFactor", - type: { - name: "Number" - } - }, - portBandwidthInMbps: { - serializedName: "properties.portBandwidthInMbps", - type: { - name: "Number" - } - }, - usedBandwidthInMbps: { - serializedName: "properties.usedBandwidthInMbps", - type: { - name: "Number" - } - }, - remainingBandwidthInMbps: { - serializedName: "properties.remainingBandwidthInMbps", - type: { - name: "Number" - } - } - } - } -}; - export const PrivateLinkServicePropertiesVisibility: coreClient.CompositeMapper = { type: { name: "Composite", diff --git a/sdk/network/arm-network/src/models/parameters.ts b/sdk/network/arm-network/src/models/parameters.ts index 1eebb225da5b..6303f37dafc9 100644 --- a/sdk/network/arm-network/src/models/parameters.ts +++ b/sdk/network/arm-network/src/models/parameters.ts @@ -127,6 +127,9 @@ import { VpnServerConfigurationPolicyGroup as VpnServerConfigurationPolicyGroupMapper, VirtualHub as VirtualHubMapper, EffectiveRoutesParameters as EffectiveRoutesParametersMapper, + GetInboundRoutesParameters as GetInboundRoutesParametersMapper, + GetOutboundRoutesParameters as GetOutboundRoutesParametersMapper, + RouteMap as RouteMapMapper, HubVirtualNetworkConnection as HubVirtualNetworkConnectionMapper, VpnGateway as VpnGatewayMapper, VpnGatewayPacketCaptureStartParameters as VpnGatewayPacketCaptureStartParametersMapper, @@ -145,7 +148,8 @@ import { HubIpConfiguration as HubIpConfigurationMapper, HubRouteTable as HubRouteTableMapper, RoutingIntent as RoutingIntentMapper, - WebApplicationFirewallPolicy as WebApplicationFirewallPolicyMapper + WebApplicationFirewallPolicy as WebApplicationFirewallPolicyMapper, + SwapResource as SwapResourceMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -197,7 +201,7 @@ export const applicationGatewayName: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-01-01", + defaultValue: "2022-05-01", isConstant: true, serializedName: "api-version", type: { @@ -293,10 +297,10 @@ export const parameters2: OperationParameter = { mapper: ApplicationGatewayPrivateEndpointConnectionMapper }; -export const applicationSecurityGroupName: OperationURLParameter = { - parameterPath: "applicationSecurityGroupName", +export const location: OperationURLParameter = { + parameterPath: "location", mapper: { - serializedName: "applicationSecurityGroupName", + serializedName: "location", required: true, type: { name: "String" @@ -304,15 +308,10 @@ export const applicationSecurityGroupName: OperationURLParameter = { } }; -export const parameters3: OperationParameter = { - parameterPath: "parameters", - mapper: ApplicationSecurityGroupMapper -}; - -export const location: OperationURLParameter = { - parameterPath: "location", +export const applicationSecurityGroupName: OperationURLParameter = { + parameterPath: "applicationSecurityGroupName", mapper: { - serializedName: "location", + serializedName: "applicationSecurityGroupName", required: true, type: { name: "String" @@ -320,6 +319,11 @@ export const location: OperationURLParameter = { } }; +export const parameters3: OperationParameter = { + parameterPath: "parameters", + mapper: ApplicationSecurityGroupMapper +}; + export const azureFirewallName: OperationURLParameter = { parameterPath: "azureFirewallName", mapper: { @@ -399,6 +403,17 @@ export const domainNameLabel: OperationQueryParameter = { } }; +export const providerport: OperationURLParameter = { + parameterPath: "providerport", + mapper: { + serializedName: "providerport", + required: true, + type: { + name: "String" + } + } +}; + export const parameters6: OperationParameter = { parameterPath: "parameters", mapper: ActiveConfigurationParameterMapper @@ -415,6 +430,20 @@ export const networkManagerName: OperationURLParameter = { } }; +export const top: OperationQueryParameter = { + parameterPath: ["options", "top"], + mapper: { + constraints: { + InclusiveMaximum: 20, + InclusiveMinimum: 1 + }, + serializedName: "$top", + type: { + name: "Number" + } + } +}; + export const parameters7: OperationParameter = { parameterPath: "parameters", mapper: QueryRequestOptionsMapper @@ -447,17 +476,6 @@ export const vpnClientParams: OperationParameter = { mapper: VirtualWanVpnProfileParametersMapper }; -export const providerport: OperationURLParameter = { - parameterPath: "providerport", - mapper: { - serializedName: "providerport", - required: true, - type: { - name: "String" - } - } -}; - export const cloudServiceName: OperationURLParameter = { parameterPath: "cloudServiceName", mapper: { @@ -759,6 +777,16 @@ export const authorizationParameters1: OperationParameter = { mapper: ExpressRoutePortAuthorizationMapper }; +export const filter: OperationQueryParameter = { + parameterPath: ["options", "filter"], + mapper: { + serializedName: "$filter", + type: { + name: "String" + } + } +}; + export const firewallPolicyName: OperationURLParameter = { parameterPath: "firewallPolicyName", mapper: { @@ -1014,20 +1042,6 @@ export const parameters30: OperationParameter = { mapper: PatchObjectMapper }; -export const top: OperationQueryParameter = { - parameterPath: ["options", "top"], - mapper: { - constraints: { - InclusiveMaximum: 20, - InclusiveMinimum: 1 - }, - serializedName: "$top", - type: { - name: "Number" - } - } -}; - export const skipToken: OperationQueryParameter = { parameterPath: ["options", "skipToken"], mapper: { @@ -1663,6 +1677,26 @@ export const ipAddress: OperationQueryParameter = { } }; +export const top1: OperationQueryParameter = { + parameterPath: ["options", "top"], + mapper: { + serializedName: "top", + type: { + name: "Number" + } + } +}; + +export const skipToken1: OperationQueryParameter = { + parameterPath: ["options", "skipToken"], + mapper: { + serializedName: "skipToken", + type: { + name: "String" + } + } +}; + export const subnetName: OperationURLParameter = { parameterPath: "subnetName", mapper: { @@ -2016,6 +2050,32 @@ export const effectiveRoutesParameters: OperationParameter = { mapper: EffectiveRoutesParametersMapper }; +export const getInboundRoutesParameters: OperationParameter = { + parameterPath: "getInboundRoutesParameters", + mapper: GetInboundRoutesParametersMapper +}; + +export const getOutboundRoutesParameters: OperationParameter = { + parameterPath: "getOutboundRoutesParameters", + mapper: GetOutboundRoutesParametersMapper +}; + +export const routeMapName: OperationURLParameter = { + parameterPath: "routeMapName", + mapper: { + serializedName: "routeMapName", + required: true, + type: { + name: "String" + } + } +}; + +export const routeMapParameters: OperationParameter = { + parameterPath: "routeMapParameters", + mapper: RouteMapMapper +}; + export const hubVirtualNetworkConnectionParameters: OperationParameter = { parameterPath: "hubVirtualNetworkConnectionParameters", mapper: HubVirtualNetworkConnectionMapper @@ -2228,12 +2288,30 @@ export const parameters87: OperationParameter = { mapper: WebApplicationFirewallPolicyMapper }; -export const filter: OperationQueryParameter = { - parameterPath: ["options", "filter"], +export const resourceName: OperationURLParameter = { + parameterPath: "resourceName", mapper: { - serializedName: "$filter", + serializedName: "resourceName", + required: true, type: { name: "String" } } }; + +export const singletonResource: OperationURLParameter = { + parameterPath: "singletonResource", + mapper: { + defaultValue: "swap", + isConstant: true, + serializedName: "singletonResource", + type: { + name: "String" + } + } +}; + +export const parameters88: OperationParameter = { + parameterPath: "parameters", + mapper: SwapResourceMapper +}; diff --git a/sdk/network/arm-network/src/networkManagementClient.ts b/sdk/network/arm-network/src/networkManagementClient.ts index 994b6e624925..bf71cbddf9ec 100644 --- a/sdk/network/arm-network/src/networkManagementClient.ts +++ b/sdk/network/arm-network/src/networkManagementClient.ts @@ -16,6 +16,8 @@ import { ApplicationGatewaysImpl, ApplicationGatewayPrivateLinkResourcesImpl, ApplicationGatewayPrivateEndpointConnectionsImpl, + ApplicationGatewayWafDynamicManifestsDefaultImpl, + ApplicationGatewayWafDynamicManifestsImpl, ApplicationSecurityGroupsImpl, AvailableDelegationsImpl, AvailableResourceGroupDelegationsImpl, @@ -43,6 +45,7 @@ import { ExpressRoutePortsImpl, ExpressRouteLinksImpl, ExpressRoutePortAuthorizationsImpl, + ExpressRouteProviderPortsLocationImpl, FirewallPoliciesImpl, FirewallPolicyRuleCollectionGroupsImpl, FirewallPolicyIdpsSignaturesImpl, @@ -122,6 +125,7 @@ import { VpnServerConfigurationsImpl, ConfigurationPolicyGroupsImpl, VirtualHubsImpl, + RouteMapsImpl, HubVirtualNetworkConnectionsImpl, VpnGatewaysImpl, VpnLinkConnectionsImpl, @@ -139,12 +143,14 @@ import { HubRouteTablesImpl, RoutingIntentOperationsImpl, WebApplicationFirewallPoliciesImpl, - ExpressRouteProviderPortsLocationImpl + VipSwapImpl } from "./operations"; import { ApplicationGateways, ApplicationGatewayPrivateLinkResources, ApplicationGatewayPrivateEndpointConnections, + ApplicationGatewayWafDynamicManifestsDefault, + ApplicationGatewayWafDynamicManifests, ApplicationSecurityGroups, AvailableDelegations, AvailableResourceGroupDelegations, @@ -172,6 +178,7 @@ import { ExpressRoutePorts, ExpressRouteLinks, ExpressRoutePortAuthorizations, + ExpressRouteProviderPortsLocation, FirewallPolicies, FirewallPolicyRuleCollectionGroups, FirewallPolicyIdpsSignatures, @@ -251,6 +258,7 @@ import { VpnServerConfigurations, ConfigurationPolicyGroups, VirtualHubs, + RouteMaps, HubVirtualNetworkConnections, VpnGateways, VpnLinkConnections, @@ -268,7 +276,7 @@ import { HubRouteTables, RoutingIntentOperations, WebApplicationFirewallPolicies, - ExpressRouteProviderPortsLocation + VipSwap } from "./operationsInterfaces"; import * as Parameters from "./models/parameters"; import * as Mappers from "./models/mappers"; @@ -294,6 +302,8 @@ import { DisconnectActiveSessionsResponse, CheckDnsNameAvailabilityOptionalParams, CheckDnsNameAvailabilityResponse, + ExpressRouteProviderPortOptionalParams, + ExpressRouteProviderPortResponse, ActiveConfigurationParameter, ListActiveConnectivityConfigurationsOptionalParams, ListActiveConnectivityConfigurationsResponse, @@ -309,8 +319,6 @@ import { VirtualWanVpnProfileParameters, GeneratevirtualwanvpnserverconfigurationvpnprofileOptionalParams, GeneratevirtualwanvpnserverconfigurationvpnprofileResponse, - ExpressRouteProviderPortOptionalParams, - ExpressRouteProviderPortResponse, PutBastionShareableLinkNextResponse, GetBastionShareableLinkNextResponse, GetActiveSessionsNextResponse, @@ -350,7 +358,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-network/29.0.1`; + const packageDetails = `azsdk-js-arm-network/30.0.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -370,34 +378,27 @@ export class NetworkManagementClient extends coreClient.ServiceClient { }; super(optionsWithDefaults); - let bearerTokenAuthenticationPolicyFound: boolean = false; if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); - bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( + const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( (pipelinePolicy) => pipelinePolicy.name === coreRestPipeline.bearerTokenAuthenticationPolicyName ); - } - if ( - !options || - !options.pipeline || - options.pipeline.getOrderedPolicies().length == 0 || - !bearerTokenAuthenticationPolicyFound - ) { - this.pipeline.removePolicy({ - name: coreRestPipeline.bearerTokenAuthenticationPolicyName - }); - this.pipeline.addPolicy( - coreRestPipeline.bearerTokenAuthenticationPolicy({ - credential: credentials, - scopes: `${optionsWithDefaults.credentialScopes}`, - challengeCallbacks: { - authorizeRequestOnChallenge: - coreClient.authorizeRequestOnClaimChallenge - } - }) - ); + if (!bearerTokenAuthenticationPolicyFound) { + this.pipeline.removePolicy({ + name: coreRestPipeline.bearerTokenAuthenticationPolicyName + }); + this.pipeline.addPolicy( + coreRestPipeline.bearerTokenAuthenticationPolicy({ + scopes: `${optionsWithDefaults.baseUri}/.default`, + challengeCallbacks: { + authorizeRequestOnChallenge: + coreClient.authorizeRequestOnClaimChallenge + } + }) + ); + } } // Parameter assignments this.subscriptionId = subscriptionId; @@ -411,6 +412,12 @@ export class NetworkManagementClient extends coreClient.ServiceClient { this.applicationGatewayPrivateEndpointConnections = new ApplicationGatewayPrivateEndpointConnectionsImpl( this ); + this.applicationGatewayWafDynamicManifestsDefault = new ApplicationGatewayWafDynamicManifestsDefaultImpl( + this + ); + this.applicationGatewayWafDynamicManifests = new ApplicationGatewayWafDynamicManifestsImpl( + this + ); this.applicationSecurityGroups = new ApplicationSecurityGroupsImpl(this); this.availableDelegations = new AvailableDelegationsImpl(this); this.availableResourceGroupDelegations = new AvailableResourceGroupDelegationsImpl( @@ -458,6 +465,9 @@ export class NetworkManagementClient extends coreClient.ServiceClient { this.expressRoutePortAuthorizations = new ExpressRoutePortAuthorizationsImpl( this ); + this.expressRouteProviderPortsLocation = new ExpressRouteProviderPortsLocationImpl( + this + ); this.firewallPolicies = new FirewallPoliciesImpl(this); this.firewallPolicyRuleCollectionGroups = new FirewallPolicyRuleCollectionGroupsImpl( this @@ -579,6 +589,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { this.vpnServerConfigurations = new VpnServerConfigurationsImpl(this); this.configurationPolicyGroups = new ConfigurationPolicyGroupsImpl(this); this.virtualHubs = new VirtualHubsImpl(this); + this.routeMaps = new RouteMapsImpl(this); this.hubVirtualNetworkConnections = new HubVirtualNetworkConnectionsImpl( this ); @@ -602,9 +613,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { this.webApplicationFirewallPolicies = new WebApplicationFirewallPoliciesImpl( this ); - this.expressRouteProviderPortsLocation = new ExpressRouteProviderPortsLocationImpl( - this - ); + this.vipSwap = new VipSwapImpl(this); } /** @@ -1204,6 +1213,21 @@ export class NetworkManagementClient extends coreClient.ServiceClient { ); } + /** + * Retrieves detail of a provider port. + * @param providerport The name of the provider port. + * @param options The options parameters. + */ + expressRouteProviderPort( + providerport: string, + options?: ExpressRouteProviderPortOptionalParams + ): Promise { + return this.sendOperationRequest( + { providerport, options }, + expressRouteProviderPortOperationSpec + ); + } + /** * Lists active connectivity configurations in a network manager. * @param resourceGroupName The name of the resource group. @@ -1396,21 +1420,6 @@ export class NetworkManagementClient extends coreClient.ServiceClient { return poller.pollUntilDone(); } - /** - * Retrieves detail of a provider port. - * @param providerport The name of the provider port. - * @param options The options parameters. - */ - expressRouteProviderPort( - providerport: string, - options?: ExpressRouteProviderPortOptionalParams - ): Promise { - return this.sendOperationRequest( - { providerport, options }, - expressRouteProviderPortOperationSpec - ); - } - /** * PutBastionShareableLinkNext * @param resourceGroupName The name of the resource group. @@ -1499,6 +1508,8 @@ export class NetworkManagementClient extends coreClient.ServiceClient { applicationGateways: ApplicationGateways; applicationGatewayPrivateLinkResources: ApplicationGatewayPrivateLinkResources; applicationGatewayPrivateEndpointConnections: ApplicationGatewayPrivateEndpointConnections; + applicationGatewayWafDynamicManifestsDefault: ApplicationGatewayWafDynamicManifestsDefault; + applicationGatewayWafDynamicManifests: ApplicationGatewayWafDynamicManifests; applicationSecurityGroups: ApplicationSecurityGroups; availableDelegations: AvailableDelegations; availableResourceGroupDelegations: AvailableResourceGroupDelegations; @@ -1526,6 +1537,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { expressRoutePorts: ExpressRoutePorts; expressRouteLinks: ExpressRouteLinks; expressRoutePortAuthorizations: ExpressRoutePortAuthorizations; + expressRouteProviderPortsLocation: ExpressRouteProviderPortsLocation; firewallPolicies: FirewallPolicies; firewallPolicyRuleCollectionGroups: FirewallPolicyRuleCollectionGroups; firewallPolicyIdpsSignatures: FirewallPolicyIdpsSignatures; @@ -1605,6 +1617,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { vpnServerConfigurations: VpnServerConfigurations; configurationPolicyGroups: ConfigurationPolicyGroups; virtualHubs: VirtualHubs; + routeMaps: RouteMaps; hubVirtualNetworkConnections: HubVirtualNetworkConnections; vpnGateways: VpnGateways; vpnLinkConnections: VpnLinkConnections; @@ -1622,7 +1635,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { hubRouteTables: HubRouteTables; routingIntentOperations: RoutingIntentOperations; webApplicationFirewallPolicies: WebApplicationFirewallPolicies; - expressRouteProviderPortsLocation: ExpressRouteProviderPortsLocation; + vipSwap: VipSwap; } // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); @@ -1785,6 +1798,27 @@ const checkDnsNameAvailabilityOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const expressRouteProviderPortOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteProviderPorts/{providerport}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ExpressRouteProviderPort + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.providerport + ], + headerParameters: [Parameters.accept], + serializer +}; const listActiveConnectivityConfigurationsOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations", @@ -1798,7 +1832,7 @@ const listActiveConnectivityConfigurationsOperationSpec: coreClient.OperationSpe } }, requestBody: Parameters.parameters6, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.top], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1822,7 +1856,7 @@ const listActiveSecurityAdminRulesOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters6, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.top], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1847,7 +1881,7 @@ const listNetworkManagerEffectiveConnectivityConfigurationsOperationSpec: coreCl } }, requestBody: Parameters.parameters7, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.top], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1871,7 +1905,7 @@ const listNetworkManagerEffectiveSecurityAdminRulesOperationSpec: coreClient.Ope } }, requestBody: Parameters.parameters7, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.top], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, @@ -1937,27 +1971,6 @@ const generatevirtualwanvpnserverconfigurationvpnprofileOperationSpec: coreClien mediaType: "json", serializer }; -const expressRouteProviderPortOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteProviderPorts/{providerport}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ExpressRouteProviderPort - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.providerport - ], - headerParameters: [Parameters.accept], - serializer -}; const putBastionShareableLinkNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/network/arm-network/src/operations/applicationGatewayWafDynamicManifests.ts b/sdk/network/arm-network/src/operations/applicationGatewayWafDynamicManifests.ts new file mode 100644 index 000000000000..920d986bc38e --- /dev/null +++ b/sdk/network/arm-network/src/operations/applicationGatewayWafDynamicManifests.ts @@ -0,0 +1,159 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ApplicationGatewayWafDynamicManifests } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + ApplicationGatewayWafDynamicManifestResult, + ApplicationGatewayWafDynamicManifestsGetNextOptionalParams, + ApplicationGatewayWafDynamicManifestsGetOptionalParams, + ApplicationGatewayWafDynamicManifestsGetResponse, + ApplicationGatewayWafDynamicManifestsGetNextResponse +} from "../models"; + +/// +/** Class containing ApplicationGatewayWafDynamicManifests operations. */ +export class ApplicationGatewayWafDynamicManifestsImpl + implements ApplicationGatewayWafDynamicManifests { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class ApplicationGatewayWafDynamicManifests class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets the regional application gateway waf manifest. + * @param location The region where the nrp are located at. + * @param options The options parameters. + */ + public list( + location: string, + options?: ApplicationGatewayWafDynamicManifestsGetOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.getPagingAll(location, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.getPagingPage(location, options); + } + }; + } + + private async *getPagingPage( + location: string, + options?: ApplicationGatewayWafDynamicManifestsGetOptionalParams + ): AsyncIterableIterator { + let result = await this._get(location, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._getNext(location, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *getPagingAll( + location: string, + options?: ApplicationGatewayWafDynamicManifestsGetOptionalParams + ): AsyncIterableIterator { + for await (const page of this.getPagingPage(location, options)) { + yield* page; + } + } + + /** + * Gets the regional application gateway waf manifest. + * @param location The region where the nrp are located at. + * @param options The options parameters. + */ + private _get( + location: string, + options?: ApplicationGatewayWafDynamicManifestsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, options }, + getOperationSpec + ); + } + + /** + * GetNext + * @param location The region where the nrp are located at. + * @param nextLink The nextLink from the previous successful call to the Get method. + * @param options The options parameters. + */ + private _getNext( + location: string, + nextLink: string, + options?: ApplicationGatewayWafDynamicManifestsGetNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, nextLink, options }, + getNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/applicationGatewayWafDynamicManifests", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplicationGatewayWafDynamicManifestResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location + ], + headerParameters: [Parameters.accept], + serializer +}; +const getNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplicationGatewayWafDynamicManifestResultList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.location + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/network/arm-network/src/operations/applicationGatewayWafDynamicManifestsDefault.ts b/sdk/network/arm-network/src/operations/applicationGatewayWafDynamicManifestsDefault.ts new file mode 100644 index 000000000000..9fa3feea34be --- /dev/null +++ b/sdk/network/arm-network/src/operations/applicationGatewayWafDynamicManifestsDefault.ts @@ -0,0 +1,70 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { ApplicationGatewayWafDynamicManifestsDefault } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams, + ApplicationGatewayWafDynamicManifestsDefaultGetResponse +} from "../models"; + +/** Class containing ApplicationGatewayWafDynamicManifestsDefault operations. */ +export class ApplicationGatewayWafDynamicManifestsDefaultImpl + implements ApplicationGatewayWafDynamicManifestsDefault { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class ApplicationGatewayWafDynamicManifestsDefault class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets the regional application gateway waf manifest. + * @param location The region where the nrp are located at. + * @param options The options parameters. + */ + get( + location: string, + options?: ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { location, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/applicationGatewayWafDynamicManifests/dafault", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplicationGatewayWafDynamicManifestResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/network/arm-network/src/operations/index.ts b/sdk/network/arm-network/src/operations/index.ts index 341ddad691ea..a8eb2d961ddb 100644 --- a/sdk/network/arm-network/src/operations/index.ts +++ b/sdk/network/arm-network/src/operations/index.ts @@ -9,6 +9,8 @@ export * from "./applicationGateways"; export * from "./applicationGatewayPrivateLinkResources"; export * from "./applicationGatewayPrivateEndpointConnections"; +export * from "./applicationGatewayWafDynamicManifestsDefault"; +export * from "./applicationGatewayWafDynamicManifests"; export * from "./applicationSecurityGroups"; export * from "./availableDelegations"; export * from "./availableResourceGroupDelegations"; @@ -36,6 +38,7 @@ export * from "./expressRoutePortsLocations"; export * from "./expressRoutePorts"; export * from "./expressRouteLinks"; export * from "./expressRoutePortAuthorizations"; +export * from "./expressRouteProviderPortsLocation"; export * from "./firewallPolicies"; export * from "./firewallPolicyRuleCollectionGroups"; export * from "./firewallPolicyIdpsSignatures"; @@ -115,6 +118,7 @@ export * from "./vpnSitesConfiguration"; export * from "./vpnServerConfigurations"; export * from "./configurationPolicyGroups"; export * from "./virtualHubs"; +export * from "./routeMaps"; export * from "./hubVirtualNetworkConnections"; export * from "./vpnGateways"; export * from "./vpnLinkConnections"; @@ -132,4 +136,4 @@ export * from "./virtualHubIpConfiguration"; export * from "./hubRouteTables"; export * from "./routingIntentOperations"; export * from "./webApplicationFirewallPolicies"; -export * from "./expressRouteProviderPortsLocation"; +export * from "./vipSwap"; diff --git a/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts b/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts index a6ae51feb443..e90c7d946b83 100644 --- a/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts +++ b/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts @@ -65,7 +65,7 @@ const listOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters32, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.top], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, diff --git a/sdk/network/arm-network/src/operations/publicIPAddresses.ts b/sdk/network/arm-network/src/operations/publicIPAddresses.ts index 353a22328ff2..47f7f12d1477 100644 --- a/sdk/network/arm-network/src/operations/publicIPAddresses.ts +++ b/sdk/network/arm-network/src/operations/publicIPAddresses.ts @@ -42,6 +42,8 @@ import { PublicIPAddressesUpdateTagsResponse, PublicIPAddressesListAllResponse, PublicIPAddressesListResponse, + PublicIPAddressesDdosProtectionStatusOptionalParams, + PublicIPAddressesDdosProtectionStatusResponse, PublicIPAddressesListVirtualMachineScaleSetPublicIPAddressesResponse, PublicIPAddressesListVirtualMachineScaleSetVMPublicIPAddressesResponse, PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptionalParams, @@ -819,6 +821,94 @@ export class PublicIPAddressesImpl implements PublicIPAddresses { ); } + /** + * Gets the Ddos Protection Status of a Public IP Address + * @param resourceGroupName The name of the resource group. + * @param publicIpAddressName The name of the public IP address. + * @param options The options parameters. + */ + async beginDdosProtectionStatus( + resourceGroupName: string, + publicIpAddressName: string, + options?: PublicIPAddressesDdosProtectionStatusOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PublicIPAddressesDdosProtectionStatusResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, publicIpAddressName, options }, + ddosProtectionStatusOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Gets the Ddos Protection Status of a Public IP Address + * @param resourceGroupName The name of the resource group. + * @param publicIpAddressName The name of the public IP address. + * @param options The options parameters. + */ + async beginDdosProtectionStatusAndWait( + resourceGroupName: string, + publicIpAddressName: string, + options?: PublicIPAddressesDdosProtectionStatusOptionalParams + ): Promise { + const poller = await this.beginDdosProtectionStatus( + resourceGroupName, + publicIpAddressName, + options + ); + return poller.pollUntilDone(); + } + /** * Gets information about all public IP addresses on a virtual machine scale set level. * @param resourceGroupName The name of the resource group. @@ -1268,6 +1358,37 @@ const listOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const ddosProtectionStatusOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}/ddosProtectionStatus", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.PublicIpDdosProtectionStatusResult + }, + 201: { + bodyMapper: Mappers.PublicIpDdosProtectionStatusResult + }, + 202: { + bodyMapper: Mappers.PublicIpDdosProtectionStatusResult + }, + 204: { + bodyMapper: Mappers.PublicIpDdosProtectionStatusResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.publicIpAddressName + ], + headerParameters: [Parameters.accept], + serializer +}; const listVirtualMachineScaleSetPublicIPAddressesOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses", diff --git a/sdk/network/arm-network/src/operations/routeMaps.ts b/sdk/network/arm-network/src/operations/routeMaps.ts new file mode 100644 index 000000000000..82d82b25259d --- /dev/null +++ b/sdk/network/arm-network/src/operations/routeMaps.ts @@ -0,0 +1,476 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RouteMaps } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + RouteMap, + RouteMapsListNextOptionalParams, + RouteMapsListOptionalParams, + RouteMapsGetOptionalParams, + RouteMapsGetResponse, + RouteMapsCreateOrUpdateOptionalParams, + RouteMapsCreateOrUpdateResponse, + RouteMapsDeleteOptionalParams, + RouteMapsListResponse, + RouteMapsListNextResponse +} from "../models"; + +/// +/** Class containing RouteMaps operations. */ +export class RouteMapsImpl implements RouteMaps { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class RouteMaps class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Retrieves the details of all RouteMaps. + * @param resourceGroupName The resource group name of the RouteMap's resource group'. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + virtualHubName: string, + options?: RouteMapsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, virtualHubName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, virtualHubName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + virtualHubName: string, + options?: RouteMapsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, virtualHubName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + virtualHubName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + virtualHubName: string, + options?: RouteMapsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + virtualHubName, + options + )) { + yield* page; + } + } + + /** + * Retrieves the details of a RouteMap. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + options?: RouteMapsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualHubName, routeMapName, options }, + getOperationSpec + ); + } + + /** + * Creates a RouteMap if it doesn't exist else updates the existing one. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param routeMapParameters Parameters supplied to create or update a RouteMap. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + routeMapParameters: RouteMap, + options?: RouteMapsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + RouteMapsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + virtualHubName, + routeMapName, + routeMapParameters, + options + }, + createOrUpdateOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); + await poller.poll(); + return poller; + } + + /** + * Creates a RouteMap if it doesn't exist else updates the existing one. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param routeMapParameters Parameters supplied to create or update a RouteMap. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + routeMapParameters: RouteMap, + options?: RouteMapsCreateOrUpdateOptionalParams + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + virtualHubName, + routeMapName, + routeMapParameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Deletes a RouteMap. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + options?: RouteMapsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, virtualHubName, routeMapName, options }, + deleteOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Deletes a RouteMap. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + options?: RouteMapsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + virtualHubName, + routeMapName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Retrieves the details of all RouteMaps. + * @param resourceGroupName The resource group name of the RouteMap's resource group'. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + virtualHubName: string, + options?: RouteMapsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualHubName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The resource group name of the RouteMap's resource group'. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + virtualHubName: string, + nextLink: string, + options?: RouteMapsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualHubName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeMaps/{routeMapName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RouteMap + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualHubName, + Parameters.routeMapName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeMaps/{routeMapName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.RouteMap + }, + 201: { + bodyMapper: Mappers.RouteMap + }, + 202: { + bodyMapper: Mappers.RouteMap + }, + 204: { + bodyMapper: Mappers.RouteMap + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.routeMapParameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualHubName, + Parameters.routeMapName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeMaps/{routeMapName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualHubName, + Parameters.routeMapName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routeMaps", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ListRouteMapsResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualHubName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ListRouteMapsResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.virtualHubName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/network/arm-network/src/operations/vipSwap.ts b/sdk/network/arm-network/src/operations/vipSwap.ts new file mode 100644 index 000000000000..e0c8eb8a4806 --- /dev/null +++ b/sdk/network/arm-network/src/operations/vipSwap.ts @@ -0,0 +1,235 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { VipSwap } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VipSwapGetOptionalParams, + VipSwapGetResponse, + SwapResource, + VipSwapCreateOptionalParams, + VipSwapListOptionalParams, + VipSwapListResponse +} from "../models"; + +/** Class containing VipSwap operations. */ +export class VipSwapImpl implements VipSwap { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class VipSwap class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets the SwapResource which identifies the slot type for the specified cloud service. The slot type + * on a cloud service can either be Staging or Production + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param options The options parameters. + */ + get( + groupName: string, + resourceName: string, + options?: VipSwapGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { groupName, resourceName, options }, + getOperationSpec + ); + } + + /** + * Performs vip swap operation on swappable cloud services. + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param parameters SwapResource object where slot type should be the target slot after vip swap for + * the specified cloud service. + * @param options The options parameters. + */ + async beginCreate( + groupName: string, + resourceName: string, + parameters: SwapResource, + options?: VipSwapCreateOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { groupName, resourceName, parameters, options }, + createOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * Performs vip swap operation on swappable cloud services. + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param parameters SwapResource object where slot type should be the target slot after vip swap for + * the specified cloud service. + * @param options The options parameters. + */ + async beginCreateAndWait( + groupName: string, + resourceName: string, + parameters: SwapResource, + options?: VipSwapCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + groupName, + resourceName, + parameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets the list of SwapResource which identifies the slot type for the specified cloud service. The + * slot type on a cloud service can either be Staging or Production + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param options The options parameters. + */ + list( + groupName: string, + resourceName: string, + options?: VipSwapListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { groupName, resourceName, options }, + listOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/cloudServices/{resourceName}/providers/Microsoft.Network/cloudServiceSlots/{singletonResource}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SwapResource + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.groupName, + Parameters.resourceName, + Parameters.singletonResource + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/cloudServices/{resourceName}/providers/Microsoft.Network/cloudServiceSlots/{singletonResource}", + httpMethod: "PUT", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters88, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.groupName, + Parameters.resourceName, + Parameters.singletonResource + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Compute/cloudServices/{resourceName}/providers/Microsoft.Network/cloudServiceSlots", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SwapResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.groupName, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/network/arm-network/src/operations/virtualHubs.ts b/sdk/network/arm-network/src/operations/virtualHubs.ts index bfb25a16077b..cbf467fe4a24 100644 --- a/sdk/network/arm-network/src/operations/virtualHubs.ts +++ b/sdk/network/arm-network/src/operations/virtualHubs.ts @@ -31,6 +31,10 @@ import { VirtualHubsListByResourceGroupResponse, VirtualHubsListResponse, VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams, + GetInboundRoutesParameters, + VirtualHubsGetInboundRoutesOptionalParams, + GetOutboundRoutesParameters, + VirtualHubsGetOutboundRoutesOptionalParams, VirtualHubsListByResourceGroupNextResponse, VirtualHubsListNextResponse } from "../models"; @@ -463,6 +467,196 @@ export class VirtualHubsImpl implements VirtualHubs { return poller.pollUntilDone(); } + /** + * Gets the inbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getInboundRoutesParameters Parameters supplied to get the inbound routes for a connection + * resource. + * @param options The options parameters. + */ + async beginGetInboundRoutes( + resourceGroupName: string, + virtualHubName: string, + getInboundRoutesParameters: GetInboundRoutesParameters, + options?: VirtualHubsGetInboundRoutesOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + virtualHubName, + getInboundRoutesParameters, + options + }, + getInboundRoutesOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Gets the inbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getInboundRoutesParameters Parameters supplied to get the inbound routes for a connection + * resource. + * @param options The options parameters. + */ + async beginGetInboundRoutesAndWait( + resourceGroupName: string, + virtualHubName: string, + getInboundRoutesParameters: GetInboundRoutesParameters, + options?: VirtualHubsGetInboundRoutesOptionalParams + ): Promise { + const poller = await this.beginGetInboundRoutes( + resourceGroupName, + virtualHubName, + getInboundRoutesParameters, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets the outbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getOutboundRoutesParameters Parameters supplied to get the outbound routes for a connection + * resource. + * @param options The options parameters. + */ + async beginGetOutboundRoutes( + resourceGroupName: string, + virtualHubName: string, + getOutboundRoutesParameters: GetOutboundRoutesParameters, + options?: VirtualHubsGetOutboundRoutesOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + resourceGroupName, + virtualHubName, + getOutboundRoutesParameters, + options + }, + getOutboundRoutesOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Gets the outbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getOutboundRoutesParameters Parameters supplied to get the outbound routes for a connection + * resource. + * @param options The options parameters. + */ + async beginGetOutboundRoutesAndWait( + resourceGroupName: string, + virtualHubName: string, + getOutboundRoutesParameters: GetOutboundRoutesParameters, + options?: VirtualHubsGetOutboundRoutesOptionalParams + ): Promise { + const poller = await this.beginGetOutboundRoutes( + resourceGroupName, + virtualHubName, + getOutboundRoutesParameters, + options + ); + return poller.pollUntilDone(); + } + /** * ListByResourceGroupNext * @param resourceGroupName The resource group name of the VirtualHub. @@ -663,6 +857,56 @@ const getEffectiveVirtualHubRoutesOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer }; +const getInboundRoutesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/inboundRoutes", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.getInboundRoutesParameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualHubName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const getOutboundRoutesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/outboundRoutes", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.getOutboundRoutesParameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualHubName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/network/arm-network/src/operations/virtualNetworks.ts b/sdk/network/arm-network/src/operations/virtualNetworks.ts index 5d1c802650db..709f7396480d 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworks.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworks.ts @@ -23,6 +23,9 @@ import { VirtualNetworkUsage, VirtualNetworksListUsageNextOptionalParams, VirtualNetworksListUsageOptionalParams, + PublicIpDdosProtectionStatusResult, + VirtualNetworksListDdosProtectionStatusNextOptionalParams, + VirtualNetworksListDdosProtectionStatusOptionalParams, VirtualNetworksDeleteOptionalParams, VirtualNetworksGetOptionalParams, VirtualNetworksGetResponse, @@ -36,9 +39,11 @@ import { VirtualNetworksCheckIPAddressAvailabilityOptionalParams, VirtualNetworksCheckIPAddressAvailabilityResponse, VirtualNetworksListUsageResponse, + VirtualNetworksListDdosProtectionStatusResponse, VirtualNetworksListAllNextResponse, VirtualNetworksListNextResponse, - VirtualNetworksListUsageNextResponse + VirtualNetworksListUsageNextResponse, + VirtualNetworksListDdosProtectionStatusNextResponse } from "../models"; /// @@ -217,6 +222,78 @@ export class VirtualNetworksImpl implements VirtualNetworks { } } + /** + * Gets the Ddos Protection Status of all IP Addresses under the Virtual Network + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + public beginListDdosProtectionStatusAndWait( + resourceGroupName: string, + virtualNetworkName: string, + options?: VirtualNetworksListDdosProtectionStatusOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listDdosProtectionStatusPagingAll( + resourceGroupName, + virtualNetworkName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listDdosProtectionStatusPagingPage( + resourceGroupName, + virtualNetworkName, + options + ); + } + }; + } + + private async *listDdosProtectionStatusPagingPage( + resourceGroupName: string, + virtualNetworkName: string, + options?: VirtualNetworksListDdosProtectionStatusOptionalParams + ): AsyncIterableIterator { + const poller = await this._listDdosProtectionStatus( + resourceGroupName, + virtualNetworkName, + options + ); + let result: any = await poller.pollUntilDone(); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listDdosProtectionStatusNext( + resourceGroupName, + virtualNetworkName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listDdosProtectionStatusPagingAll( + resourceGroupName: string, + virtualNetworkName: string, + options?: VirtualNetworksListDdosProtectionStatusOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listDdosProtectionStatusPagingPage( + resourceGroupName, + virtualNetworkName, + options + )) { + yield* page; + } + } + /** * Deletes the specified virtual network. * @param resourceGroupName The name of the resource group. @@ -490,6 +567,75 @@ export class VirtualNetworksImpl implements VirtualNetworks { ); } + /** + * Gets the Ddos Protection Status of all IP Addresses under the Virtual Network + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + private async _listDdosProtectionStatus( + resourceGroupName: string, + virtualNetworkName: string, + options?: VirtualNetworksListDdosProtectionStatusOptionalParams + ): Promise< + PollerLike< + PollOperationState, + VirtualNetworksListDdosProtectionStatusResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { resourceGroupName, virtualNetworkName, options }, + listDdosProtectionStatusOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + /** * ListAllNext * @param nextLink The nextLink from the previous successful call to the ListAll method. @@ -540,6 +686,26 @@ export class VirtualNetworksImpl implements VirtualNetworks { listUsageNextOperationSpec ); } + + /** + * ListDdosProtectionStatusNext + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkName The name of the virtual network. + * @param nextLink The nextLink from the previous successful call to the ListDdosProtectionStatus + * method. + * @param options The options parameters. + */ + private _listDdosProtectionStatusNext( + resourceGroupName: string, + virtualNetworkName: string, + nextLink: string, + options?: VirtualNetworksListDdosProtectionStatusNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, virtualNetworkName, nextLink, options }, + listDdosProtectionStatusNextOperationSpec + ); + } } // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); @@ -728,6 +894,41 @@ const listUsageOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const listDdosProtectionStatusOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/ddosProtectionStatus", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkDdosProtectionStatusResult + }, + 201: { + bodyMapper: Mappers.VirtualNetworkDdosProtectionStatusResult + }, + 202: { + bodyMapper: Mappers.VirtualNetworkDdosProtectionStatusResult + }, + 204: { + bodyMapper: Mappers.VirtualNetworkDdosProtectionStatusResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top1, + Parameters.skipToken1 + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; const listAllNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", @@ -791,3 +992,30 @@ const listUsageNextOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const listDdosProtectionStatusNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VirtualNetworkDdosProtectionStatusResult + }, + 202: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top1, + Parameters.skipToken1 + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.virtualNetworkName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/network/arm-network/src/operationsInterfaces/applicationGatewayWafDynamicManifests.ts b/sdk/network/arm-network/src/operationsInterfaces/applicationGatewayWafDynamicManifests.ts new file mode 100644 index 000000000000..c26f0f8d8506 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/applicationGatewayWafDynamicManifests.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ApplicationGatewayWafDynamicManifestResult, + ApplicationGatewayWafDynamicManifestsGetOptionalParams +} from "../models"; + +/// +/** Interface representing a ApplicationGatewayWafDynamicManifests. */ +export interface ApplicationGatewayWafDynamicManifests { + /** + * Gets the regional application gateway waf manifest. + * @param location The region where the nrp are located at. + * @param options The options parameters. + */ + list( + location: string, + options?: ApplicationGatewayWafDynamicManifestsGetOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/applicationGatewayWafDynamicManifestsDefault.ts b/sdk/network/arm-network/src/operationsInterfaces/applicationGatewayWafDynamicManifestsDefault.ts new file mode 100644 index 000000000000..b3b5f82c44ae --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/applicationGatewayWafDynamicManifestsDefault.ts @@ -0,0 +1,25 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams, + ApplicationGatewayWafDynamicManifestsDefaultGetResponse +} from "../models"; + +/** Interface representing a ApplicationGatewayWafDynamicManifestsDefault. */ +export interface ApplicationGatewayWafDynamicManifestsDefault { + /** + * Gets the regional application gateway waf manifest. + * @param location The region where the nrp are located at. + * @param options The options parameters. + */ + get( + location: string, + options?: ApplicationGatewayWafDynamicManifestsDefaultGetOptionalParams + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/index.ts b/sdk/network/arm-network/src/operationsInterfaces/index.ts index 341ddad691ea..a8eb2d961ddb 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/index.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/index.ts @@ -9,6 +9,8 @@ export * from "./applicationGateways"; export * from "./applicationGatewayPrivateLinkResources"; export * from "./applicationGatewayPrivateEndpointConnections"; +export * from "./applicationGatewayWafDynamicManifestsDefault"; +export * from "./applicationGatewayWafDynamicManifests"; export * from "./applicationSecurityGroups"; export * from "./availableDelegations"; export * from "./availableResourceGroupDelegations"; @@ -36,6 +38,7 @@ export * from "./expressRoutePortsLocations"; export * from "./expressRoutePorts"; export * from "./expressRouteLinks"; export * from "./expressRoutePortAuthorizations"; +export * from "./expressRouteProviderPortsLocation"; export * from "./firewallPolicies"; export * from "./firewallPolicyRuleCollectionGroups"; export * from "./firewallPolicyIdpsSignatures"; @@ -115,6 +118,7 @@ export * from "./vpnSitesConfiguration"; export * from "./vpnServerConfigurations"; export * from "./configurationPolicyGroups"; export * from "./virtualHubs"; +export * from "./routeMaps"; export * from "./hubVirtualNetworkConnections"; export * from "./vpnGateways"; export * from "./vpnLinkConnections"; @@ -132,4 +136,4 @@ export * from "./virtualHubIpConfiguration"; export * from "./hubRouteTables"; export * from "./routingIntentOperations"; export * from "./webApplicationFirewallPolicies"; -export * from "./expressRouteProviderPortsLocation"; +export * from "./vipSwap"; diff --git a/sdk/network/arm-network/src/operationsInterfaces/publicIPAddresses.ts b/sdk/network/arm-network/src/operationsInterfaces/publicIPAddresses.ts index 37a00d07a04b..75544d601098 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/publicIPAddresses.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/publicIPAddresses.ts @@ -26,6 +26,8 @@ import { TagsObject, PublicIPAddressesUpdateTagsOptionalParams, PublicIPAddressesUpdateTagsResponse, + PublicIPAddressesDdosProtectionStatusOptionalParams, + PublicIPAddressesDdosProtectionStatusResponse, PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressOptionalParams, PublicIPAddressesGetVirtualMachineScaleSetPublicIPAddressResponse } from "../models"; @@ -203,6 +205,33 @@ export interface PublicIPAddresses { parameters: TagsObject, options?: PublicIPAddressesUpdateTagsOptionalParams ): Promise; + /** + * Gets the Ddos Protection Status of a Public IP Address + * @param resourceGroupName The name of the resource group. + * @param publicIpAddressName The name of the public IP address. + * @param options The options parameters. + */ + beginDdosProtectionStatus( + resourceGroupName: string, + publicIpAddressName: string, + options?: PublicIPAddressesDdosProtectionStatusOptionalParams + ): Promise< + PollerLike< + PollOperationState, + PublicIPAddressesDdosProtectionStatusResponse + > + >; + /** + * Gets the Ddos Protection Status of a Public IP Address + * @param resourceGroupName The name of the resource group. + * @param publicIpAddressName The name of the public IP address. + * @param options The options parameters. + */ + beginDdosProtectionStatusAndWait( + resourceGroupName: string, + publicIpAddressName: string, + options?: PublicIPAddressesDdosProtectionStatusOptionalParams + ): Promise; /** * Get the specified public IP address in a virtual machine scale set. * @param resourceGroupName The name of the resource group. diff --git a/sdk/network/arm-network/src/operationsInterfaces/routeMaps.ts b/sdk/network/arm-network/src/operationsInterfaces/routeMaps.ts new file mode 100644 index 000000000000..ddb597043dba --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/routeMaps.ts @@ -0,0 +1,109 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + RouteMap, + RouteMapsListOptionalParams, + RouteMapsGetOptionalParams, + RouteMapsGetResponse, + RouteMapsCreateOrUpdateOptionalParams, + RouteMapsCreateOrUpdateResponse, + RouteMapsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a RouteMaps. */ +export interface RouteMaps { + /** + * Retrieves the details of all RouteMaps. + * @param resourceGroupName The resource group name of the RouteMap's resource group'. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + virtualHubName: string, + options?: RouteMapsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Retrieves the details of a RouteMap. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + options?: RouteMapsGetOptionalParams + ): Promise; + /** + * Creates a RouteMap if it doesn't exist else updates the existing one. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param routeMapParameters Parameters supplied to create or update a RouteMap. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + routeMapParameters: RouteMap, + options?: RouteMapsCreateOrUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + RouteMapsCreateOrUpdateResponse + > + >; + /** + * Creates a RouteMap if it doesn't exist else updates the existing one. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param routeMapParameters Parameters supplied to create or update a RouteMap. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + routeMapParameters: RouteMap, + options?: RouteMapsCreateOrUpdateOptionalParams + ): Promise; + /** + * Deletes a RouteMap. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + options?: RouteMapsDeleteOptionalParams + ): Promise, void>>; + /** + * Deletes a RouteMap. + * @param resourceGroupName The resource group name of the RouteMap's resource group. + * @param virtualHubName The name of the VirtualHub containing the RouteMap. + * @param routeMapName The name of the RouteMap. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + virtualHubName: string, + routeMapName: string, + options?: RouteMapsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/vipSwap.ts b/sdk/network/arm-network/src/operationsInterfaces/vipSwap.ts new file mode 100644 index 000000000000..51accab1c592 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/vipSwap.ts @@ -0,0 +1,73 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VipSwapGetOptionalParams, + VipSwapGetResponse, + SwapResource, + VipSwapCreateOptionalParams, + VipSwapListOptionalParams, + VipSwapListResponse +} from "../models"; + +/** Interface representing a VipSwap. */ +export interface VipSwap { + /** + * Gets the SwapResource which identifies the slot type for the specified cloud service. The slot type + * on a cloud service can either be Staging or Production + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param options The options parameters. + */ + get( + groupName: string, + resourceName: string, + options?: VipSwapGetOptionalParams + ): Promise; + /** + * Performs vip swap operation on swappable cloud services. + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param parameters SwapResource object where slot type should be the target slot after vip swap for + * the specified cloud service. + * @param options The options parameters. + */ + beginCreate( + groupName: string, + resourceName: string, + parameters: SwapResource, + options?: VipSwapCreateOptionalParams + ): Promise, void>>; + /** + * Performs vip swap operation on swappable cloud services. + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param parameters SwapResource object where slot type should be the target slot after vip swap for + * the specified cloud service. + * @param options The options parameters. + */ + beginCreateAndWait( + groupName: string, + resourceName: string, + parameters: SwapResource, + options?: VipSwapCreateOptionalParams + ): Promise; + /** + * Gets the list of SwapResource which identifies the slot type for the specified cloud service. The + * slot type on a cloud service can either be Staging or Production + * @param groupName The name of the resource group. + * @param resourceName The name of the cloud service. + * @param options The options parameters. + */ + list( + groupName: string, + resourceName: string, + options?: VipSwapListOptionalParams + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/virtualHubs.ts b/sdk/network/arm-network/src/operationsInterfaces/virtualHubs.ts index 80066bafc83f..999a9d5aa925 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/virtualHubs.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/virtualHubs.ts @@ -20,7 +20,11 @@ import { VirtualHubsUpdateTagsOptionalParams, VirtualHubsUpdateTagsResponse, VirtualHubsDeleteOptionalParams, - VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams + VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams, + GetInboundRoutesParameters, + VirtualHubsGetInboundRoutesOptionalParams, + GetOutboundRoutesParameters, + VirtualHubsGetOutboundRoutesOptionalParams } from "../models"; /// @@ -141,4 +145,60 @@ export interface VirtualHubs { virtualHubName: string, options?: VirtualHubsGetEffectiveVirtualHubRoutesOptionalParams ): Promise; + /** + * Gets the inbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getInboundRoutesParameters Parameters supplied to get the inbound routes for a connection + * resource. + * @param options The options parameters. + */ + beginGetInboundRoutes( + resourceGroupName: string, + virtualHubName: string, + getInboundRoutesParameters: GetInboundRoutesParameters, + options?: VirtualHubsGetInboundRoutesOptionalParams + ): Promise, void>>; + /** + * Gets the inbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getInboundRoutesParameters Parameters supplied to get the inbound routes for a connection + * resource. + * @param options The options parameters. + */ + beginGetInboundRoutesAndWait( + resourceGroupName: string, + virtualHubName: string, + getInboundRoutesParameters: GetInboundRoutesParameters, + options?: VirtualHubsGetInboundRoutesOptionalParams + ): Promise; + /** + * Gets the outbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getOutboundRoutesParameters Parameters supplied to get the outbound routes for a connection + * resource. + * @param options The options parameters. + */ + beginGetOutboundRoutes( + resourceGroupName: string, + virtualHubName: string, + getOutboundRoutesParameters: GetOutboundRoutesParameters, + options?: VirtualHubsGetOutboundRoutesOptionalParams + ): Promise, void>>; + /** + * Gets the outbound routes configured for the Virtual Hub on a particular connection. + * @param resourceGroupName The resource group name of the VirtualHub. + * @param virtualHubName The name of the VirtualHub. + * @param getOutboundRoutesParameters Parameters supplied to get the outbound routes for a connection + * resource. + * @param options The options parameters. + */ + beginGetOutboundRoutesAndWait( + resourceGroupName: string, + virtualHubName: string, + getOutboundRoutesParameters: GetOutboundRoutesParameters, + options?: VirtualHubsGetOutboundRoutesOptionalParams + ): Promise; } diff --git a/sdk/network/arm-network/src/operationsInterfaces/virtualNetworks.ts b/sdk/network/arm-network/src/operationsInterfaces/virtualNetworks.ts index 5e2b3d021204..d813bb7ba1d4 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/virtualNetworks.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/virtualNetworks.ts @@ -14,6 +14,8 @@ import { VirtualNetworksListOptionalParams, VirtualNetworkUsage, VirtualNetworksListUsageOptionalParams, + PublicIpDdosProtectionStatusResult, + VirtualNetworksListDdosProtectionStatusOptionalParams, VirtualNetworksDeleteOptionalParams, VirtualNetworksGetOptionalParams, VirtualNetworksGetResponse, @@ -56,6 +58,17 @@ export interface VirtualNetworks { virtualNetworkName: string, options?: VirtualNetworksListUsageOptionalParams ): PagedAsyncIterableIterator; + /** + * Gets the Ddos Protection Status of all IP Addresses under the Virtual Network + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkName The name of the virtual network. + * @param options The options parameters. + */ + beginListDdosProtectionStatusAndWait( + resourceGroupName: string, + virtualNetworkName: string, + options?: VirtualNetworksListDdosProtectionStatusOptionalParams + ): PagedAsyncIterableIterator; /** * Deletes the specified virtual network. * @param resourceGroupName The name of the resource group. diff --git a/sdk/network/arm-network/test/sampleTest.ts b/sdk/network/arm-network/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/network/arm-network/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/network/arm-network/tsconfig.json b/sdk/network/arm-network/tsconfig.json index 094dfbf3dbe3..3e6ae96443f3 100644 --- a/sdk/network/arm-network/tsconfig.json +++ b/sdk/network/arm-network/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-network": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"